Développer un programme consiste à dessiner l’interface qu’il présentera à l’utilisateur, puis à agencer les instructions.
Avant d’écrire votre programme, assurez-vous qu’il n’existe pas déjà une fonction effectuant les opérations voulues.Par exemple, lorsque vous souhaitez, dans une feuille de calcul, afficher des valeurs selon deux critères distincts, il est plus simple de se tourner vers les fonctions de filtre élaboré du tableur plutôt que de créer une macro.Une fois ces solutions étudiées, n’hésitez pas à écrire grossièrement le but de votre programme : quelle est l’opération à effectuer en premier ? Quelles sont les variables dont j’ai besoin ?Aidez-vous de l’Enregistreur de macros pour réaliser une première ébauche. Puis, explorez les exemples des fichiers d’aide ou d’un ouvrage pour comprendre le fonctionnement de telle ou telle propriété ou méthode.
Commentez vos programmes Par ailleurs, pensez à ajouter des commentaires. Des informations précises sur l’emploi de telle instruction ou sur une portion de programme vous seront d’un grand secours quand, quelques mois plus tard, vous essaierez d’améliorer la macrocommande.De même, si vous décidez de partager votre programme en VBA avec plusieurs personnes, écrivez des commentaires pour leur expliquer, par exemple, le but du module. Lors de l’exécution du programme, Visual Basic Editor va traquer les erreurs de la macrocommande et va, en particulier, vérifier si les propriétés ou méthodes correspondent bien à l’objet auquel elles sont associées. Employez conjointement la fonction Exécution pas à pas et les Espions pour détecter les erreurs de logique.
Recopiez un programme en VBA > Saisissez le listing
Appuyez sur + . Dans Visual Basic Editor, cliquez sur Insertion puis sur Module. Dans la fenêtre de saisie qui s’affiche, tapez Option Explicit, afin de demander à VBE de vérifier que toutes les variables sont bien définies.
Puis, recopiez le listing d’un des programmes des pages précédentes en vous aidant éventuellement des outils de saisie automatique de Visual Basic Editor. N’oubliez pas de commenter les différentes parties du programme.
> Recherchez les erreurs courantes
Les lignes qui apparaissent en rouge contiennent des mots mal orthographiés. Une fois la correction effectuée, vous devez lancer la compilation en appuyant sur la touche .
Si le programme s’arrête sur une erreur, consultez la fenêtre Variables locales. Si vous n’y trouvez pas l’erreur immédiatement, isolez la ligne fautive en exploitant les Points d’arrêt et l’exécution Pas à pas détaillé, accessible par le menu Débogage.
> Testez l’application
Une fois toutes les erreurs éventuelles corrigées, lancez votre programme en prenant soin de tester des situations particulières, qui sont censées soit provoquer l’affichage d’un message soit entraîner un arrêt de la macrocommande.
Ajoutez des instructions pour gérer les erreurs qui peuvent survenir lorsque, par exemple, vous cherchez à afficher le contenu d’un répertoire. Pour y parvenir, utilisez On Error Resume Next ou On error Goto.
Suppression des bugs : Faites la chasse aux erreurs L’éditeur VBE affiche les erreurs en rouge lors de la saisie. Mais si, par exemple, vous orthographiez mal le nom d’une variable, l’éditeur de saisie interprétera cette dernière comme une nouvelle variable. Lors de la compilation, un message d’erreur risque de s’afficher.
Dans ce cas, il vous indiquera la variable incriminée. VBE possède d’autres outils accessibles depuis le menu Débogage. Il s’agit de l’exécution Pas à pas, des Espions et des Points d’arrêt. L’exécution Pas à pas stoppe le programme à chaque ligne et vous permet de vérifier le contenu des variables locales.
Les Espions servent à recueillir des informations sur une expression (ou une fonction). Ils vous aident à repérer les expressions qui se comportent bizarrement en ne donnant pas, par exemple, le résultat attendu. L
es Points d’arrêt, quant à eux, fonctionnent comme un panneau Stop. L’exécution du programme s’arrête lorsqu’elle rencontre un Point d’arrêt. Ils permettent d’isoler des portions de programme qui comportent des erreurs.
Accès rapide : Rendez disponibles les macros dès le démarrage Par défaut, les programmes VBA et les macros sont contenus uniquement dans le document où ils ont été créés. Néanmoins, si vous utilisez régulièrement des programmes, vous avez tout intérêt à les regrouper dans un seul document que vous ouvrirez dès le lancement du logiciel. Avec Word, enregistrez les programmes dans le fichier Normal.dot.
Pour cela, déroulez Outils/Macro/Macros. Cliquez sur [organiser]. Dans la fenêtre qui s’affiche, sélectionnez les noms des programmes à inclure dans Normal.dot et cliquez sur [copier].
Toutes les macros conçues avec l’Enregistreur de macros se trouvent dans NewMacros. Avec Excel, créez un nouveau classeur dans lequel vous recopierez les programmes VBA. Puis, enregistrez-le dans le dossier C:Program FilesMicrosoft Office OfficeXLOuvrir (ou C:Program FilesMicrosoft Office OfficeXLStart sous Excel 2000).
Ainsi, à chaque lancement d’Excel, le classeur contenant les macros s’ouvrira automatiquement. Pour les plus chevronnés, un moyen pour rendre accessibles des programmes VBA consiste à élaborer des fichiers de macros complémentaires (c’est obligatoire avec Access et PowerPoint).
Méthodologie : Ayez recours aux objets Le langage VBA repose sur le modèle de programmation orienté objet. Cela signifie que l’écriture d’un programme se résume à décrire les actions (ou méthodes) que devront effectuer des parties (les propriétés) d’un objet.
Par exemple, si l’objet est une automobile, celle-ci possède des roues, un volant, des freins… autant de propriétés que l’on met en ?”uvre pour réaliser des actions : démarrer, rouler, appuyer.
Ces trois actions sont les méthodes de l’objet Automobile ou classe Automobile. Pour freiner, il faut donc appuyer (méthode) sur les freins (propriété) de l’Automobile (objet). En termes de programmation, cela se traduirait par Automobile.Freins.Appuyer. Les applications faisant partie d’Office possèdent des objets communs et des objets spécifiques.
Par exemple, les classeurs Workbooks n’existent pas dans Word. Néanmoins, il est tout à fait possible d’ajouter des feuilles dans un classeur depuis un programme en VBA écrit pour Word. Une classe supérieure, Application correspond donc au programme auquel se rattachent certains objets.
A côté de ces éléments de base, il existe des événements. Il s’agit, par exemple, d’une pression sur une touche du clavier, d’un clic sur un bouton ou de l’ouverture d’un fichier. Ils déclenchent l’exécution d’un programme, c’est-à-dire d’une procédure dite événementielle.
Insérez une valeur dans une cellule d’Excel > Construisez la fenêtre de dialogue
Voici un exemple qui insère une valeur dans la cellule A1 d’un classeur Excel. Ouvrez VBE par + . Cliquez sur Insertion, puis sur UserForm. Affichez la Boîte à outils via le menu Affichage. Cliquez sur l’icône Zone de texte et tracez un cadre à l’aide de la souris dans Userform1.
Recommencez l’opération avec l’icône Intitulé. Ajoutez deux boutons de commande (CommandButton1 et CommandButton1) auxquels vous affecterez respectivement les légendes (propriété Caption) OK et Annuler.
> Ajoutez les programmes écrits en VBA
Cliquez sur [ok] et choisissez Code dans le menu contextuel. Saisissez l’instruction suivante : ActiveSheet.Range(“A1”) = TextBox1.Value, entre les lignes Private Sub CommandButton1_Click() et End Sub.
De même, effectuez un clic droit sur [annuler] et optez pour Code. Tapez Unload UserForm1 entre Private Sub CommandButton2_Click() et End Sub. Unload ferme la fenêtre UserForm1. Ensuite, il faut créer un programme principal, qui affiche UserForm. Pour cela, cliquez sur Insertion puis sur Module.
> Vérifiez l’exécution de l’application
Dans la fenêtre de saisie, entrez Sub ProgPrincipal(). Après avoir validé par la touche , insérez la ligne UserForm1.Show. Enregistrez votre programme.
Basculez dans Excel et choisissez une feuille de calcul vierge. Cliquez sur Outils, puis sur Macros et, enfin, sur Macro. Sélectionnez ProgPrincipal et activez [exécuter]. La fenêtre UserForm1 s’affiche. Saisissez une valeur numérique ou alphanumérique et validez par un clic sur [ok]. Elle est alors stockée dans la cellule A1.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp .