Qualités d'un programme
Nature d'un programme
Composantes d'un programme
Sub ou Function?
Composition d'un module VBA
Un programme informatique est un peu comme une recette de cuisine. Il requiert des ingrédients (données, variables, objets), contient une série de manipulations à faire avec ces ingrédients (instructions VBA) en utilisant des outils plus ou moins performants (VBE, Excel, Windows) et donne un résultat quelquefois plus intéressant que les ingrédients pris séparément.
Il y a de bonnes recettes, et de moins bonnes recettes. Il en est de même pour les programmes.
Un bon programme:
Très peu de programmes disponibles sur le marché actuel répondent à ces
critères.
Lorsque vous aurez terminé l'écriture d'un programme, demandez-vous s'il répond
aux quatre critères de façon satisfaisante pour l'usage prévu.
Une suggestion dès le départ: gardez vos programmes simples.
Du point de vue de l'utilisation (et donc de la programmation), un programme VBA Excel peut être:
L'automatisation d'une série d'opérations qu'on peut faire manuellement dans Excel: la procédure SUB.On trouve un exemple de chacun (sauf la création de classe) dans la page Introduction du présent tutoriel.
Une module VBA se compose des trois éléments suivants:
Une procédure doit toujours être encadrée par les instructions Sub...End Sub ou Function ... End Function.
[Private | Public] [Static] Sub nom
[(liste de paramètres)] [instructions] [Exit Sub] [instructions] End Sub Où: Public Indique que la procédure Sub est accessible à toutes les autres procédures dans l'ensemble des modules. Valeur par défaut. Optional indique que ce paramètre n'est pas
obligatoire. S'il est utilisé, tous les paramètres suivants
doivent l'être aussi. ATTENTION, en VBA ByrRef est la valeur par défaut, au contraire de la plupart des langages de programmation. ByVal indique que si la valeur du paramètre est
modifiée dans la procédure, cela n'affecte pas sa valeur dans la
procédure appelante. instructions Tout groupe d'instructions à exécuter dans
la procédure Sub. |
[Private | Public] [Static] Function nom
[(liste de paramètres)] [AS type] [instructions] [nom= expression] [Exit Function] [instructions] [nom= expression] End Function Où: Public Indique que la procédure Function est accessible à
toutes les autres procédures dans l'ensemble des modules. où:
instructions Tout groupe d'instructions à exécuter dans la procédure Function expression Valeur retournée par la procédure Function. Exit Function Instruction VBA permettant de terminer l'exécution de la procédure avant la fin. End Function Instruction délimitant la fin de la procédure Function. |
Une procédure Sub sans paramètre obligatoire:
Ne retourne pas de valeur.
Peut modifier le contenu de la feuille Excel.
Peut être associée à un objet (bouton, graphique) dans la feuille Excel
et exécutée lorsque l'objet est cliqué.
Une procédure Sub avec paramètre obligatoire:
Ne retourne pas de valeur.
Peut être exécutée lorsqu'un événement Excel se produit (ouverture,
fermeture, modification de cellule...).
Une procédure Function:
Retourne une valeur.
Ne doit pas modifier la feuille de travail.
Ne doit pas afficher de boîte de dialogue.
Ne peut être utilisée que dans une formule Excel ou une procédure VBA.
Un programme VBA comporte un nom, de la documentation, des objets, des instructions et une gestion des erreurs:
Un nom: Assignez toujours un nom qui décrit la nature de votre
programme. Ça le rend plus facile à modifier.
De la documentation: au minimum, indiquez dès la 2e ligne le nom de
l'auteur et dès la 3e ligne le but du programme. N'hésitez pas à parsemer
votre programme de commentaires qui vous permettront de mieux comprendre ce
qu'il fait (et comment il le fait) quand vous voudrez modifier le
programme dans un ou dix ans.
Des objets: une recette contient des ingrédients, un programme contient
des objets. Ces objets peuvent être:
Pour développer un programme, on utilise un environnement de développement. Cet environnement est le même pour tous les programmes de la suite Office: VBE (Visual Basic Editor).
Le code d'un programme VBA est enregistré dans un classeur, dans une feuille, dans un module ou dans un formulaire. Le tout est enregistré à l'intérieur du document Office. En Office 2007, les noms des documents contenant un programme VBA ont une extension spécifique (.xlsm au lieu de .xlsx).
Abonnez-vous à l'infolettre Abonnez-vous à l'infolettre du site pour recevoir les dernières nouvelles et aussi des formations à votre courriel. Vous pouvez voir la liste des dernières infolettres ici. |