Livre Macros excel.book
Transcription
Livre Macros excel.book
Livre Macros excel.book Page I Vendredi, 3. avril 2009 7:45 07 L E P R O G R A M M E U R Microsoft ® ® Excel & VBA Version 97, 2000, XP, 2003 et 2007 Mikaël Bidault Livre Macros excel.book Page V Vendredi, 3. avril 2009 7:45 07 Table des matières Introduction ............................................ 1 CHAPITRE 2. Premières macros ............. VBA, c’est quoi ? ................................ 2 Créer une macro GrasItalique ............. 36 Des programmes .............................. 4 Démarrer l’enregistrement ............... 37 Une application hôte et des projets ... 5 Un langage de programmation ......... 6 Enregistrer les commandes de la macro ...................................... 39 Un environnement de travail ............ 8 Exécuter la macro ............................ 40 Conventions typographiques ............... 9 Structure de la macro ....................... 42 Améliorer la macro .......................... 47 I – Découvrir la programmation Excel CHAPITRE 1. Notions fondamentales de la programmation orientée objet 11 13 Comprendre le concept d’objet ........... 14 Objets et collections d’objets ........... 14 Application hôte et modèles d’objets 16 Accéder aux objets ........................... 19 Les propriétés .................................. 21 Les méthodes ................................... 26 Les événements ................................ 28 Les fonctions ................................... 28 Le modèle d’objets d’Excel ................ 29 35 Une autre méthode d’enregistrement .... 50 Enregistrement ................................. 50 Structure de la macro ....................... 51 Ecrire la macro .................................... 51 Exécution de la macro ...................... 53 Choisir l’accessibilité des macros ....... 54 Accessibilité globale ou limitée ........ 54 Classeurs et modèles ........................ 55 Le classeur de macros personnel ...... 55 Les macros complémentaires ............ 56 Définir le classeur de stockage lors de l’enregistrement d’une macro 61 Accéder aux macros d’un classeur spécifique ........................................ 61 Livre Macros excel.book Page VI Vendredi, 3. avril 2009 7:45 07 VI Excel et VBA CHAPITRE 3. Déplacement et sélection dans une macro Excel .............................. Ajouter un module .................................. 148 63 Supprimer un module ............................. 150 Méthodes de sélection dans une feuille Excel .......................................................... 64 Créer une procédure ................................... Ecrire l’instruction de déclaration .......... 151 151 La boîte de dialogue Ajouter une procédure ......................................... 152 La notion de portée ................................ 154 Ecriture et mise en forme du code ........... 155 Déplacer une procédure ......................... 160 Appel et sortie d’une procédure ................. Appel d’une procédure Sub ..................... 161 161 Appels de procédures Function et Property ............................................. 162 Clavier ....................................................... 64 Souris ..................................................... Références relatives et références absolues . 66 66 67 Coder les déplacements effectués lors de l’enregistrement d’une macro ........ Référence absolue aux cellules ................ Référence relative aux cellules ................ 69 69 77 Notion de cellule active ........................... Référence aux cellules fonction de leur contenu ....................................... 80 83 Référence aux plages de cellules nommées CHAPITRE 4. Découvrir Visual Basic Editor 85 Accéder à Visual Basic Editor .................... 86 Les outils et les fenêtres de Visual Basic Editor L’Explorateur de projet ........................... L’Explorateur d’objets ............................ La fenêtre UserForm ............................... La fenêtre Code ...................................... La fenêtre Propriétés .............................. Les barres d’outils .................................. 88 89 93 100 103 115 119 Paramétrer Visual Basic Editor .................. 123 II – Programmer en Visual Basic CHAPITRE 5. Développer dans Visual Basic Editor ................................... 127 Passage d’arguments .............................. 163 Sortie d’une procédure ........................... 165 Sortie d’un programme ........................... 166 Exécuter du code ....................................... 167 Aide à l’écriture de code ............................ Vérification automatique de la syntaxe .... 167 168 Complément automatique des instructions 169 Info express automatique ........................ 170 CHAPITRE 6. Variables et constantes ............ 171 Déclarer une variable ................................. Déclaration implicite .............................. 172 172 Déclaration explicite .............................. 173 Types de données des variables ................. Chaînes de caractères ............................. 176 176 Valeurs numériques ................................ 178 129 Valeurs booléennes ................................. 181 Structure des programmes Visual Basic ..... 130 Les modules ............................................ 130 Les procédures ........................................ 131 Les instructions ...................................... 133 Dates ..................................................... 181 Type Variant ........................................... 182 Les différents types de procédures ............. 135 Procédures Sub ....................................... 136 Procédures Function ............................... 140 Procédures Property ............................... 143 Des projets bien structurés ......................... 148 Variables de matrice ............................... 183 Variables objet ....................................... 187 Types de données personnalisés .............. 192 Constantes ............................................. 194 Validation et conversion des types de données ............................................. 195 Portée et durée de vie des variables ........... 198 Livre Macros excel.book Page VII Vendredi, 3. avril 2009 7:45 07 Portée de niveau procédure ..................... Portée de niveau module privée .............. Portée de niveau module publique ........... Variables statiques ................................. Traitement interapplications à l’aide de variables objet ....................................... CHAPITRE 7. Contrôler les programmes VBA ............................... 198 198 199 199 200 Table des matières VII CHAPITRE 9. Manipulation des chaînes de caractères ............................................ 267 Modifier des chaînes de caractères ............ Concaténer des chaînes .......................... 268 268 Insérer des caractères non accessibles au clavier ............................................... Répéter une série de caractères .............. 205 Répéter une série d’instructions : les boucles .................................................. La boucle While...Wend .......................... La boucle Do...Loop ............................... La boucle For...Next ................................ La boucle For Each...Next ....................... 206 206 210 214 219 Utiliser des instructions conditionnelles .... La structure de contrôle If...Then...Else ... La structure de contrôle Select Case ....... 223 223 227 Définir l’instruction suivante avec GoTo ... 229 Supprimer les espaces superflus d’une chaîne .......................................... 270 271 Extraire une partie d’une chaîne ............. 272 272 Effectuer des remplacements au sein d’une chaîne .......................................... 274 Modifier la casse des chaînes de caractères 275 Comparer des chaînes de caractères .......... 275 Rechercher dans les chaînes de caractères Rechercher une chaîne dans une chaîne ... 277 277 Rechercher une chaîne dans une variable de matrice .............................................. 280 CHAPITRE 10. Débogage et gestion des erreurs ................................................ 283 284 285 287 288 290 Interagir avec l’utilisateur via des boîtes de dialogue ................................................. La fonction InputBox .............................. La méthode InputBox .............................. La fonction MsgBox ............................... Affichage de boîtes de dialogue Excel ...... 229 230 234 236 241 Les étapes et les outils du débogage .......... Test du projet ......................................... Exécuter pas à pas ................................. La fenêtre Variables locales .................... Les points d’arrêt ................................... Utiliser les opérateurs logiques .................. 246 Trier des données ....................................... 247 Modifier l’ordre d’exécution des instructions ...................................... CHAPITRE 8. Fonctions Excel et VBA ........... 251 Utiliser les fonctions Excel dans VBA ...... 252 La pile des appels .................................. 291 291 292 294 Créer des fonctions Excel personnalisées .... 252 Exemple de débogage ................................ Recherche du bogue ............................... Résolution du bogue ............................... 295 297 298 Gestion des erreurs et des exceptions ........ 301 Exemple de gestion d’erreur ...................... 303 Intégrer une fonction via l’Explorateur d’objets ...................................................... 254 Insérer une fonction VBA dans votre code 254 Insérer une fonction Excel dans votre code 255 La fenêtre Exécution ............................... Les espions ............................................ Recommandations pour l’écriture de fonctions Excel ..................................... 256 CHAPITRE 11. Intégrer des applications VBA dans l’interface d’Excel ................. 305 Les limites de la cellule ............................ 256 Affecter une macro à un raccourci clavier . 306 Des fonctions toujours à jour .................. 257 Principales fonctions VBA ........................ 257 Personnaliser la barre d’outils Accès rapide d’Excel 2007 ........................ 307 Livre Macros excel.book Page VIII Vendredi, 3. avril 2009 7:45 07 VIII Excel et VBA Affecter une macro à un bouton ................. 309 Affecter une macro à une commande de menu ...................................................... 310 Réorganiser les boutons .......................... Supprimer une commande de menu ........... 312 Grouper ou séparer des contrôles ........... 337 338 339 340 Modifier l’image et/ou le nom d’une commande ........................................ 313 Affecter une macro à un objet .................... 315 Personnaliser la boîte à outils .................... Ajouter/supprimer un contrôle ................ Ajouter/supprimer une page .................... 341 341 343 Afficher/masquer une feuille ..................... 345 CHAPITRE 13. Exploiter les propriétés des contrôles ActiveX ............................... 347 III – Développer des interfaces utilisateur Uniformiser l’espace entre les contrôles . Centrer les contrôles .............................. 317 Propriété Name .......................................... 349 Apparence .................................................. 350 CHAPITRE 12. . Créer des interfaces utilisateur .................................................. 319 Alignment ................................................. 350 Les phases de développement de feuilles .. 320 BackColor .............................................. Créer une feuille ......................................... 321 BackStyle ............................................... Les contrôles de la boîte à outils ................ 323 Outil Sélection ........................................ 323 BorderColor ........................................... Visible .................................................... 350 351 351 351 352 353 353 353 354 354 356 Comportement ........................................... 359 AutoSize .................................................... 359 AutoTab .................................................. 360 360 361 362 362 364 364 364 365 365 365 366 367 Contrôle Label ....................................... 323 Contrôle TextBox .................................... 324 Contrôle ComboBox ............................... 325 Contrôle Frame ...................................... 325 Contrôle ListBox .................................... 325 Contrôle CheckBox ................................. 326 Contrôle OptionButton ........................... 327 Contrôle ToggleButton ............................ 327 Contrôle CommandButton ...................... 327 Contrôle TabStrip ................................... 328 Contrôle MultiPage ................................ 328 Contrôle ScrollBar ................................. 329 Contrôle SpinButton ............................... 330 Placer des contrôles sur une feuille ............ 330 Copier-coller des contrôles ..................... 332 BorderStyle ............................................ Caption .................................................. ControlTipText ........................................ ForeColor ............................................... SpecialEffect .......................................... Style ....................................................... Value ...................................................... AutoWordSelect ...................................... Cancel ................................................... Default ................................................... Enabled .................................................. EnterKeyBehavior .................................. HideSelection ......................................... Sélectionner plusieurs contrôles .............. 333 Locked ................................................... Supprimer des contrôles ......................... 334 MaxLenght ............................................. Mise en forme des contrôles ...................... 334 La grille ................................................. 335 MultiLine ............................................... SelectionMargin ..................................... Aligner les contrôles ............................... 336 Style ....................................................... Uniformiser la taille des contrôles .......... 337 TabKeyBehavior ..................................... Livre Macros excel.book Page IX Vendredi, 3. avril 2009 7:45 07 Table des matières TextAlign ................................................ IX Contrôle ComboBox ............................... 406 Contrôle ListBox .................................... 411 WordWrap .............................................. 367 367 368 Contrôles CheckBox et OptionButton ...... 414 Défilement ................................................. 369 Contrôle ScrollBar ................................. 415 ScrollBars ................................................. 369 Contrôle SpinButton ............................... 417 KeepScrollsVisible .................................. Exploiter les informations d’une feuille VBA ...................................... 420 LargeChange .......................................... 370 370 371 372 372 Divers ......................................................... 373 TripleState .............................................. Delay ..................................................... Max et Min ............................................. SmallChange .......................................... Accelerator ............................................... 373 GroupName ............................................ Tag ......................................................... 374 375 375 376 377 379 379 Emplacement ............................................. 379 HelpContextID ....................................... MouseIcon ............................................. MousePointer ......................................... TabIndex ................................................ TabStop .................................................. IV – Notions avancées de la programmation Excel 423 CHAPITRE 15. Programmer des événements utilisateur ................................................. 425 L’objet Application .................................... 426 Déclaration et instanciation de l’objet Application ............................. 426 Création de procédures événementielles de niveau application ............................. 427 Propriétés de l’objet Application ............ 429 Méthodes de l’objet Application ............. 431 Height et Width ......................................... 379 Left et Top .............................................. L’objet ThisWorkbook ............................... 431 StartUpPosition ...................................... 379 380 L’objet Worksheet ...................................... 433 Image ......................................................... 381 Picture ...................................................... 381 CHAPITRE 16. Protéger et authentifier des projets VBA ....................................... 437 PictureAlignment .................................... Les virus macro ......................................... 438 Se protéger des virus macros ..................... 438 PictureTiling .......................................... 382 383 384 384 Police ......................................................... 385 Définir un niveau de sécurité dans Excel 2007 .................................... 438 Font ........................................................... 385 Définir un niveau de sécurité avec Excel 2000, XP et 2003 .................... 440 CHAPITRE 14. Programmer les interfaces utilisateur ........................... 387 Effectuer des sauvegardes des macros ..... 444 Créer des procédures événementielles ....... Créer une procédure ............................... Les événements ....................................... 388 388 394 Exemples d’exploitation des contrôles ...... Contrôle Label ....................................... Contrôle TextBox .................................... 400 401 403 PictureSizeMode .................................... PicturePosition ....................................... Protéger l’accès aux macros ...................... 445 Verrouiller un projet ............................... 445 Limiter les droits d’exécution d’une macro 447 Authentifier ses macros ............................. 457 Obtenir une authentification ................... 458 Authentifier une macro ........................... 459 Livre Macros excel.book Page X Vendredi, 3. avril 2009 7:45 07 X Excel et VBA CHAPITRE 17. Bonus : exemple complet d’application Excel .................................. 461 Présentation d’un projet d’application Excel ......................................................... 462 Identification des informations à recueillir 463 Définition de la structure du programme . 464 Création du modèle Excel .......................... 470 Feuille fmContratDates .......................... 498 Feuille fmContratImpression ................... 504 Feuille fmContratFin .............................. 510 Ecriture des procédures d’édition de documents ............................................. Edition des feuilles de paie ..................... Mise à jour du Tableau Word .................. 511 511 514 Création des interfaces ............................... 472 Feuille fmContratAuteur ......................... 472 ANNEXE . Manipulation des fichiers et des dossiers ........................................... 517 Feuille fmContratConditions ................... 484 Index .............................................................. 521