Vidéo: Créer des fonctions Excel en Visual Basic 2025
Une fois que vous avez la compétence dans le langage VBA, vous pouvez écrire de nouvelles macros à partir de zéro dans Visual Basic Editor au lieu de simplement modifier ceux que vous avez précédemment enregistrés dans votre feuille de calcul en utilisant l'enregistreur de macros d'Excel. Lorsque vous créez une macro à partir de zéro dans Visual Basic Editor, vous devez suivre ces étapes générales:
-
Cliquez sur le nom du projet VBA dans la fenêtre de l'Explorateur de projet dans laquelle vous souhaitez ajouter la nouvelle macro.
Si vous voulez écrire une macro juste pour le classeur en cours, cliquez sur la fonction VBAProject qui contient son nom de fichier entre parenthèses, comme dans VBAProject (Ma feuille de calcul). Si vous voulez écrire une macro globale dans le classeur de macros personnelles, cliquez sur VBAProject (PERSONNEL.XLSB) dans la fenêtre Explorateur de projet.
-
Choisissez Insertion → Module dans la barre de menus de Visual Basic Editor.
Excel répond en ouvrant une nouvelle fenêtre Code vide dans la fenêtre de Visual Basic Editor et en ajoutant une autre icône de module (nommée avec le prochain numéro disponible) dans le plan de la fenêtre Explorateur de projet sous le projet VBA approprié.
Ensuite, vous commencez votre macro en créant un sous-programme (toutes les macros, même celles que vous enregistrez dans la feuille de calcul, sont en réalité des sous-programmes Visual Basic). Pour ce faire, il vous suffit de taper sous (pour le sous-programme).
-
Tapez sub et appuyez sur la barre d'espace.
Maintenant, vous devez nommer votre nouvelle macro, ce que vous faites en nommant votre sous-routine. Rappelez-vous que lorsque vous nommez votre nouvelle macro (ou un sous-programme), vous suivez les mêmes règles que lorsque vous nommez un nom de plage (commencez par une lettre et pas d'espaces).
-
Tapez le nom de votre macro, puis appuyez sur la touche Entrée.
Dès que vous appuyez sur la touche Entrée, Visual Basic Editor insère une paire fermée de parenthèses après le nom de la macro, une ligne vide et une instruction End Sub sur sa propre ligne ci-dessous. Il positionne ensuite le point d'insertion au début de la ligne vide entre les lignes avec les instructions Sub et End Sub. C'est ici que vous entrez les lignes de code pour la macro que vous écrivez.
-
Entrez les lignes du code VBA pour la macro entre les instructions Sub et End Sub.
Avant de commencer à écrire les instructions VBA que votre macro doit exécuter, vous devez d'abord documenter le but et le fonctionnement de cette macro. Pour ce faire, tapez une apostrophe (') au début de chaque ligne de ce texte pour l'entrer comme commentaire. (Excel ne sait pas essayer d'exécuter une ligne de code précédée d'une apostrophe.)
Lorsque vous appuyez sur la touche Entrée pour commencer une nouvelle ligne commençant par une apostrophe, la ligne de texte devient verte, indiquant que le visuel Basic Editor considère qu'il s'agit d'un commentaire qui ne doit pas être exécuté lors de l'exécution de la macro.
Après avoir documenté le but de la macro avec vos commentaires, vous commencez à entrer les instructions que vous voulez que la macro exécute (qui ne doit pas être précédée d'apostrophes). Pour mettre en retrait des lignes de code afin de les rendre plus lisibles, appuyez sur Tab. Si vous devez reporter la ligne, appuyez sur Maj + Tab. Lorsque vous avez fini d'écrire le code de votre macro, vous devez l'enregistrer avant de le tester.
-
Choisissez Fichier → Enregistrer dans la barre de menus de Visual Basic Editor ou appuyez sur Ctrl + S.
Après avoir enregistré votre nouvelle macro, vous pouvez cliquer sur le bouton Afficher Microsoft Excel dans la barre d'outils Standard pour revenir à votre feuille de calcul où vous pouvez l'essayer. Pour exécuter la nouvelle macro que vous avez écrite, choisissez Affichage → Macros sur le ruban ou appuyez sur Alt + F8 pour ouvrir la boîte de dialogue Macro, puis cliquez sur le nom de la macro que vous venez d'écrire avant de cliquer sur OK.
Si Excel rencontre une erreur lors de l'exécution de la macro, il vous renvoie à Visual Basic Editor et une boîte de dialogue Alert Microsoft Visual Basic s'affiche, indiquant (sous forme très cryptique) la nature de l'erreur. Cliquez sur le bouton Déboguer dans cette boîte de dialogue pour que Visual Basic Editor surligne la ligne de code qu'il ne peut pas exécuter.
Vous pouvez ensuite tenter de trouver l'erreur et l'éditer dans la ligne de code. Si vous éliminez la cause de l'erreur, Visual Basic Editor supprime la mise en évidence de cette ligne de code et vous pouvez cliquer sur le bouton Continuer (qui remplace automatiquement le bouton Exécuter lorsque l'éditeur passe en mode débogage) avec le triangle bleu pointant vers la droite dans la barre d'outils Standard pour continuer à exécuter la macro.
