Apprendre la programmation en VBA pour Excel par la pratique - Cinquième partie : protéger vos classeurs sensibles
Un tutoriel de Laurent OTT

Le , par laurent_ott, Rédacteur
Chers membres du club,

Bonjour. J’ai l’honneur de vous présenter un 5ème mémento consacré à la programmation en VBA pour EXCEL : Tome 5 : Sentinelle - Une application qui veille sur vos classeurs sensibles - Exemples d'utilisations des tableaux de données et des requêtes SQL en VBA

Cette fois nous étudierons l’utilisation des requêtes SQL pour manipuler les données d’une feuille de calculs.
Vous trouverez des fonctions prêtes à l’emploi ainsi qu’une application pour mettre en pratique les notions abordées.

Vous découvrirez que les requêtes SQL sont finalement très simples à utiliser et peuvent rendre de grands services aux programmeurs, en leur évitant l’écriture de nombreuses lignes de code.

N’hésitez pas à commenter cette documentation, et à nous faire partager votre expérience et vos connaissances.

Retrouvez les meilleurs cours et tutoriels pour apprendre Microsoft Excel


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de Patrice740 Patrice740 - Membre éclairé https://www.developpez.com
le 06/01/2018 à 15:53
Bonjour,

Tout d'abord, un grand bravo pour ce travail qui permet de « découvrir les bases de la programmation en VBA ».

je n'ai parcouru qu'une partie du Tome 1 et dans le second chapitre,
je vois ce qui pour moi est une erreur fondamentale (quoique très fréquente) lorsqu'il s'agit apprentissage.
Je suis surpris que personne ne l'ait signalée.
Tu écris :
La syntaxe respecte la logique suivante : Workbooks - Sheets - Range - Value = 15

Alors qu'il faudrait écrire :
La syntaxe respecte la logique suivante : Workbooks - Worksheets - Range - Value = 15

En effet, l'objet Range et tous ceux qui représentent des cellules, n'appartiennent pas à un hypothétique objet Sheet (qui n'existe pas) mais bel et bien à l'objet Worksheet,
renvoyé par Sheets() mais dans le cas où Sheets(xxx) représente un Chart, la syntaxe Sheets(xxx).Range(yyy) renvoie une erreur.
Et bien évidemment, on retrouve cette anomalie dans les nombreux exemples de code qui suivent.

Pour finir, toutes mes félicitations pour l'attention que tu as apporté à déclarer systématiquement les variables dans chaque exemple.
Avatar de xingjing910 xingjing910 - Membre régulier https://www.developpez.com
le 18/01/2018 à 17:42
Bonjour Laurent,

Je suis une débutante dans EXCEL VBA et je suis en train de me former avec tes cours ==> Les cours sont supers bien, je te remercie de les partager

Je suis actuellement sur le thème tri des donnée. Dans TOME 1 P29/100, tu as parlé de la fonction ALEA.ENTRE.BORNES(0;10000) ==> Je n'arrive pas à trouver l'écriture correcte ...

==> Donc je ne sais pas l'utiliser pour remplir 10 000 cellules dans une colonne ...

Merci merci beaucoup
XJ
Avatar de Patrice740 Patrice740 - Membre éclairé https://www.developpez.com
le 18/01/2018 à 18:05
Citation Envoyé par xingjing910 Voir le message
Bonjour Laurent,

Je suis une débutante dans EXCEL VBA et je suis en train de me former avec tes cours ==> Les cours sont supers bien, je te remercie de les partager

Je suis actuellement sur le thème tri des donnée. Dans TOME 1 P29/100, tu as parlé de la fonction ALEA.ENTRE.BORNES(0;10000) ==> Je n'arrive pas à trouver l'écriture correcte ...

==> Donc je ne sais pas l'utiliser pour remplir 10 000 cellules dans une colonne ...

Merci merci beaucoup
XJ
Il ne s'agit pas de VBA mais d'une formule à placer en A1 d'une feuille de calcul et à tirer jusqu'en A10000 :
=ALEA.ENTRE.BORNES(0;10000)

Edit : avec les raccourcis clavier, c'est plus simple de la placer en A10000 et de la copier jusqu'en A1
Avatar de xingjing910 xingjing910 - Membre régulier https://www.developpez.com
le 23/01/2018 à 16:45
Citation Envoyé par Patrice740 Voir le message
Il ne s'agit pas de VBA mais d'une formule à placer en A1 d'une feuille de calcul et à tirer jusqu'en A10000 :
=ALEA.ENTRE.BORNES(0;10000)

Edit : avec les raccourcis clavier, c'est plus simple de la placer en A10000 et de la copier jusqu'en A1
Merci bien Patrice, je croyais que c'est à écrire dans le programme
Merci encore
Avatar de xingjing910 xingjing910 - Membre régulier https://www.developpez.com
le 25/01/2018 à 17:32
Bonjour Laurent,
Est-ce qu'il existe des discussion spécialement sur une Tome ?
Par exemple, discussion sur la TOME 1, ce qui permet aux autres ( surtout moi ) de poser des questions liées ???
Par exemple dans la P40/100 de la TOME1, la code

T = Timer: While T + 1 > Timer: Wend ' Attente 1 seconde l'envoi du message.
Je ne comprends pas trop l'écriture de cette code, pourquoi elle permet d'attendre une seconde ?

Merci d'avance
Cdlt
Avatar de laurent_ott laurent_ott - Rédacteur https://www.developpez.com
le 25/01/2018 à 18:27
Bonjour.
Tu peux ouvrir une discussion sur le forum EXCEL : https://www.developpez.net/forums/f6...ros-vba-excel/ en cliquant sur le bouton "ajouter une discussion" après t'être identifié(e).
Ou me contacter en messagerie privée : en cliquant sur mon nom. D'ailleurs tu constateras dans ton "tableau de bord", rubrique "boîte de réception", que j'avais répondu à ton précédent message.
Et tu y trouveras la réponse à cette nouvelle question.
A Bientôt.
Avatar de Ojanen Ojanen - Membre du Club https://www.developpez.com
le 30/01/2018 à 14:04
Merci beaucoup pour l'ensemble de ces tutoriels très enrichissants !
Avatar de Delludo Delludo - Candidat au Club https://www.developpez.com
le 15/02/2018 à 18:41
Bonjour, merci beaucoup, je débute sur excel, cela fait une semaine que je me forme comme je peuux avec ce que je trouve sur internet et franchement votre Pdf est vraiment bien.
Avatar de geoffm geoffm - Nouveau Candidat au Club https://www.developpez.com
le 06/04/2018 à 0:10
Je l'ai regardé en diagonale, ça semble pas mal ce guide.
Je n'ai plus besoin de lire un guide introductif mais moi ce qui m'a permis de décoller rapidement c'est le guide de Ben Beitler, http://www.excel-spreadsheet.com/vba/vbacode.htm
Très didactique et il va droit au but.
Contacter le responsable de la rubrique Accueil