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

Avatar de Patrice740 Patrice740 - Membre confirmé 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 confirmé 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
Responsables bénévoles de la rubrique Excel : Pierre Fauconnier - Arkham46 -