Bonus 3 - Astuces et remarques
Vous trouverez ici des astuces concernant Excel VBA, ainsi que la totalité des infobulles présentent un peu partout dans le cours
Règles de bonne conduite en programmation
Afin que vos programmes soient lisibles et réutilisables, il est important de :
Commenter explicitement vos codes.
Donner des noms explicites à vos variables, fonctions, procédures, ...
Regrouper les ensembles d’instructions qui répondent à une fonctionnalité donnée soit dans une procédure, soit dans une fonction.
Réutiliser vos fonctions et procédures ou les fonctions intégrées d’Excel dans tout programme qui réclame les fonctionnalités correspondantes : autant que possible ne jamais dupliquer une même ligne de code !
Regrouper vos fonctions et procédures en différents modules, nommés de manière explicite, suivant leurs finalités.
Comment obtenir de l’aide
Pensez à utiliser l’enregistreur de macro pour découvrir les instructions VBA nécessaires pour accomplir une opération donnée.
Une bonne méthode pour apprendre à se servir de VBA et découvrir de nouvelles instructions est de :
enregistrer la séquence des actions dont on souhaite connaître les instructions correspondantes
exécuter pas à pas (touche F8) dans l'outil VBA afin de savoir les actions effectuées par chacune des lignes de code et de s’en servir par exemple pour écrire, modifier ou compléter un programme.
Vous pouvez également utiliser la touche F1 pour obtenir de l’aide sur un objet, une propriété, une méthode ou un événement, dans un module de code ou dans l’explorateur d’objets.
Enfin, rendez-vous dans la rubrique Forum pour poser une question. Vous y trouverez sans doute une réponse.
Vérifiez bien que votre question n'a pas déjà été posée avant d'ouvrir un nouveau topic sur le forum.
Outils de débogage
Les principaux outils de débogage proposés par l’éditeur de Visual Basic dans le menu DEBOGAGE sont les suivants :
Exécution pas à pas : pour exécuter un programme pas à pas, placer le curseur dans la procédure à exécuter et activer la commande DEBOGAGE - PAS A PAS DETAILLE. L’exécution d’une procédure pas à pas permet d’en examiner le déroulement instruction après instruction. La procédure est dite en mode arrêt. On peut à tout moment retourner à un mode d’exécution normal.
Les bulles d’aide : pour visualiser la valeur d’une variable, activer la commande OUTILS - OPTIONS, cliquer sur l’onglet EDITEUR et cocher la case INFO-BULLES AUTOMATIQUES. Lorsque le curseur est placé au-dessus d’une variable, la valeur de celle-ci apparaît dans une bulle d’aide.
La fenêtre Variables locales : pour visualiser la valeur des variables et constantes aux différents stades de l’exécution pas à pas d’un programme, activer la commande AFFICHAGE - FENETRE VARIABLES LOCALES.
Les points d’arrêt : les points d’arrêt permettent d’interrompre l’exécution d’un programme sur une instruction précise. Pour définir un point d’arrêt sur une instruction douteuse, activer la commande DEBOGAGE - BASCULER LE POINT D’ARRET.
Les espions : pour espionner la valeur d’une variable, activer la commande DEBOGAGE - AJOUTER UN ESPION. Pour afficher la fenêtre ESPIONS, activer la commande AFFICHAGE - FENETRE ESPIONS.
La pile d’appels : la pile d’appels recense toutes les procédures ou fonctions en cours d’exécution, selon leur ordre d’appel. Pour afficher la pile des appels, activer la commande AFFICHAGE - PILE DES APPELS.
Infobulles
application : Word, Excel, Access...
collection d'objets : La collection étant elle même un objet.
commentaire : Texte non intérprété, utile pour comprendre le programme.
contrôles : Eléments constitutifs d’un objet UserForm tels qu’une case à cocher, une zone de texte, une zone de liste modifiable ou un bouton de commande permettant une intervention de l’utilisateur.
déclarer : Indiquer l'existance d'une entité informatique sans la créer.
fonction : Ensemble nommé de lignes de code renvoyant une valeur.
instruction : Ligne de code qui exécute une tâche précise.
modules : Fichiers contenant des procédures ou des fonctions.
mot clé : Mot ayant une signification spéciale, qui ne peut pas être utilisé comme identificateur de classe, de méthode ou de variable.
procédure : Ensemble nommé d'instructions ne renvoyant pas de valeur.