« Macros-commandes VBA/Les Macros Excel » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- n'est pas + n’est pas , - Aujourd'hui + Aujourd’hui , - d'euros + d’euros , - d'agir + d’agir , - l'apparence + l’apparence )
m Robot : Remplacement de texte automatisé (-\n(==={0,3})(?: *)([^\n=]+)(?: *)\1(?: *)\n +\n\1 \2 \1\n)
Ligne 12 :
}}
 
== Introduction ==
 
La '''Macro-commande''', '''le langage {{abréviation|VBA|Visual Basic for Applications|en}}''', ces termes vous font peur ? Oui ? Et bien… Cette leçon est faite pour vous !!! Nous allons vous porter et vous encourager à vous servir de l’un des outils les plus intéressants développés depuis bien longtemps par Microsoft : la programmation {{abréviation|VBA|Visual Basic for Applications|en}}.
Ligne 31 :
{{Remarque|contenu=Cette leçon a été réalisée pour '''expliquer l’utilité de la Macro-commande''' sur tableur de la façon la plus ludique et compréhensible possible. Ainsi, le fil conducteur de ce cours sera d’expliquer graduellement comment utiliser les Macro-commandes de votre tableur favori.}}
 
== Historique ==
 
La Macro-commande pour tableur, exploitant le langage {{abréviation|VBA|Visual Basic for Applications|en}} a été créé en 1995 par ''Microsoft'' sous la version ''Excel 5'', sa finalité : transformer les actions effectuées par l’utilisateur ou le logiciel en instructions informatiques VISUAL BASIC.
Ligne 39 :
* Phase 2 : l'utilisateur sélectionne d'autres cellules puis appelle la macro nommée macroQuiSouligne, puis l'exécute, les nouvelles cellules sélectionnées seront alors soulignées
 
== Utilité des macros VBA ==
 
{{Définition
Ligne 63 :
}}
 
== Un heureux mariage ==
 
=== Un Langage VISUAL BASIC ===
 
Visual Basic est le langage informatique développé dans les années 1980 par Microsoft pour banaliser la programmation. Les informaticiens
Ligne 71 :
L'intérêt majeur de la programmation Objet est qu’il n’est pas utile de connaître la composition et le fonctionnement d'un objet pour l’utiliser, seul son interface utilisateur (en général ses propriétés modifiables via VBA) doit être maîtrisée. Par analogie, lors de l’utilisation d'un téléviseur, il n’est pas nécessaire d’en connaître les composants et leur fonctionnement, seule son interface utilisateur (en général la télécommande) doit pouvoir être maniée.
 
=== Un Logiciel EXCEL ===
 
Excel est le logiciel tableur développé dans les années 1980 par Microsoft pour effectuer tout type de calcul et afficher tout type de graphique. Ce logiciel, à ses débuts, était souvent cité comme le plus mauvais des logiciels de type Tableurs ; après quelques années seulement et un travail d'amélioration gigantesque, il est devenu le logiciel de référence des tableurs. Tant et si bien que l’on peut parler de situation de monopole, vu son taux de couverture de marché avoisinant les 100%. Le logiciel Excel est également l'hôte dont le VBA a besoin pour pouvoir être embarqué.
Ligne 83 :
Certaines instructions VBA sont donc spécifiques à Excel, celles qui manipulent des objets EXCEL telles que l’affectation de formule à une cellule, l’ouverture de classeur, …
 
=== Le développeur communique avec Excel via la bibliothèque d'objets ===
 
La bibliothèque d'objet contient tous les objets utilisés par le tableur : classeur, feuille, colonne, cellule … ainsi que toutes les opérations possibles sur ces objets. Par exemple : Application, Worksheets, Workbooks, Selection, Range, …
Ligne 93 :
</source>
 
=== Le développeur communique avec Excel via les macros ===
 
Les modules de code contiennent toutes les macros utilisés par le tableur : déclarations, procédures et fonctions
Ligne 105 :
</source>
 
== Présentation du langage ==
[[Fichier:ProgrammeVB.JPG|thumb|right|Un exemple de fenêtre de programme réalisé en VB.]]
 
Ligne 116 :
Visual Basic for Applications (VBA) est une implémentation de Microsoft Visual Basic qui est intégrée dans toutes les applications de Microsoft Office (ex : [[w:Microsoft Word|Microsoft Word]], [[w:Microsoft Excel|Microsoft Excel]], ...), dans quelques autres applications Microsoft comme Visio et au moins partiellement dans quelques autres applications non Microsoft comme AutoCAD et WordPerfect. VBA, de plus, remplace et étend les capacités des langages macro spécifiques aux plus anciennes applications comme le langage WordBasic intégré à une ancienne version du logiciel Word. VBA peut aussi être utilisé pour contrôler la quasi-totalité de l'IHM des applications hôtes, ce qui inclut la possibilité de manipuler les fonctionnalités de l'interface utilisateur comme les menus, les barres d’outils et le fait de pouvoir personnaliser les boîtes de dialogue et les formulaires utilisateurs.
 
== Installation ==
Visual Basic est fourni avec le pack [[w:Microsoft Office|Microsoft Office]], ce qui a le mérite de fournir des interfaces graphiques compatibles. Il est alors stocké dans différents types de fichiers .bas, .cls, .xls, .xlsm, .doc, .docm, .ppt, .pptm, .mdb, .mde. Il est recommandé de configurer ces logiciels en y ajoutant l'onglet "Développeur" dans le menu <u>Fichier\Options\Personnaliser le ruban</u>, et d'activer toutes les macros par défaut dans <u>Fichier\Options\Centre de gestion de la confidentialité\Paramètres du Centre de gestion de la confidentialité\Paramètres des macros</u>. Cet onglet permet par exemple d'enregistrer une macro reproduisant les opérations effectuées manuellement.
 
Il est toutefois également disponible gratuitement avec le compilateur Visual Studio express<ref>http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-basic-express</ref>. Dans ce cas il sera présent dans les fichiers .vb, .sln, .dsw, .vcw, .vbproj. Une fois ce dernier installé il est recommandé d'afficher les numéros de ligne pour pouvoir se repérer plus facilement, dans le menu <u>Tools\Options\Text Editor\All Languages\Line numbers</u>.
 
=== Chargement automatique de modules ===
Le format .xlsb sert à stocker des scripts VBA sans afficher de feuilles. Il peut ainsi être chargé silencieusement automatiquement à chaque ouverture de fichiers Excel. Pour ce faire, il suffit de :
* Enregistrer des macros dans les modules d'un .xlsb.
Ligne 127 :
* Cliquer dans l'onglet "Affichage" sur "Masquer".
 
=== Chargement automatique de bibliothèques ===
Pour charger une bibliothèque de scripts .xla, .xlam ou .xll, il faut :
* Copier le fichier dans <u>C:\Users\%USERNAME%\AppData\Roaming\Microsoft\AddIns\</u><ref>http://www.cpearson.com/excel/installinganxla.aspx</ref>. Son code peut être protégé par un mot de passe, mais il s'exécutera quand même si on l'appelle.
* Dans l'éditeur de macros, ''Outils'', ''Références'', cliquer sur ''Parcourir'' pour accéder au fichier, et ainsi le faire apparaitre coché en haut de la liste.
 
== Références ==
<references/>
 
== Annexes ==
 
=== Bibliographie ===
* Greg Harvey et John Walkenbach, 2013, '''Excel 2013 et VBA Pour Les Nuls''', FIRST, Hoboken
* Amelot M., 2011, '''VBA Excel 2010''', ENI, St Herblain
 
=== Liens internes ===
* [[Tableur EXCEL|Leçon Tableur EXCEL]]
 
=== Liens externes ===
* [http://vb.developpez.com/faqvba/ FAQ developpez VBA]
* [http://www.commentcamarche.net/contents/1163-introduction-a-visual-basic Une introduction au Visual Basic]