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

Contenu supprimé Contenu ajouté
réorganisation de contenu
réorganisation de contenu
Ligne 60 :
}}
 
== LangageUn VISUALheureux BASICmariage ==
 
=== Un Langage VISUAL BASIC ===
 
Visual Basic est le langage informatique développé dans les années 80 par Microsoft pour banaliser la programmation. Les informaticiens
Ligne 66 ⟶ 68 :
L'intérêt majeur de la programmation Objet est qu'il n'est pas utile de connaitre 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 maitrisée. Par analogie, lors de l'utilisation d'une télévision, il n'est pas nécessaire d'en connaitre 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 80 par Microsoft pour effectuer tout type de calcul et afficher tout type de graphique. L'application Excel est également un Objet que vous allez manipuler, et aussi l’application hôte dont le VBA a besoin pour pouvoir être embarqué.
 
=== Un Langage VB + Un Logiciel Excel = Une Visual Basic Application ===
 
Si vous utilisez le VBA, vous travaillez avec des objets. Le modèle Excel (comme le modèle Word ainsi que tous les autres modèles des logiciels MICROSOFT) possède des collections, des méthodes, des propriétés et réagissent aux évènements déclenchés par l'utilisateur.
Ligne 78 ⟶ 80 :
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, …
 
Worksheets(1).Activate
== VBA communique avec Excel ==
 
=== La bibliothèque d'objet ===
 
 
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, …
 
 
=== Le code VBA ou macros ===
 
- La déclaration de données est la description des données utilisées.
 
- Les procédures générales sont déclenchées en les appelant dans le code ou en les référençant dans une expression d’un formulaire ou d’un onglet EXCEL. Elles permettent de réaliser des opérations complexes n’entrant pas dans le cadre d’expression.
 
- Les procédures événementielles sont des opérations déclenchées sur des évènements propres aux objets d’un formulaire ou d’un état ou d’un onglet EXCEL. Par exemple : sur clic de bouton, sur ouverture de formulaire, sur changement d’un champ…
 
 
=== L'interaction entre objet et code ===
 
Sub EnregistrerComme()
Dim fichier as String
fichier = "C:\excel\MonDouble.xls"
ActiveWorkbook.SaveCopyAs fichier
End Sub
 
== Les contenants Excel VBA ==
 
* Feuille
 
Objet EXCEL accueillant les procédures particulières à une feuille de calcul EXCEL, cet objet contient le plus souvent des procédures et fonctions concernant des objets s’appliquant à lui-même.
 
* Modules de code standard
 
Objet VBA accueillant les procédures générales, le plus souvent contiennent des fonctions dites "utilitaires".
 
* Modules formulaire
 
Objet VBA contenant les procédures événementielles propres au formulaire traité. Il peut également contenir des procédures générales (à éviter). Ex : une procédure de traitement de date serait stockée dans un module standard pour pouvoir être utilisée dans tous les formulaires concernés.
 
* Modules de classe
 
=== VBALe développeur communique avec Excel via les macros ===
Objet VBA contenant les données et procédures pour un objet (on parle alors de propriétés et de méthodes). Ex : un objet compte en banque qui décrit ses données (mouvement, solde, …) et les opérations sur ses données (retrait, dépôt, virement, …).
 
Les modules de code contiennent toutes les macros utilisés par le tableur : déclarations, procédures et fonctions
 
SUB enregistrerComme()
DimDIM fichier as String
fichier = "C:\excel\MonDouble.xls"
ActiveWorkbook.SaveCopyAs fichier
END SUB
 
== Annexes ==