Leçon 6 / 9 — Chapitre 4: Interaction, fonctions et automatisation
Appeler une macro depuis une autre (Call)
Un projet VBA qui grandit gagne en clarté quand une longue macro est découpée en plusieurs petites Sub, chacune responsable d'une seule étape, appelées ensuite depuis une macro principale.
Le mot-clé Call
Sub MacroPrincipale()
Call PreparerDonnees
Call CalculerTotal
MsgBox "Traitement terminé"
End Sub
Sub PreparerDonnees()
' ... nettoyage des données ...
End Sub
Sub CalculerTotal()
' ... calcul du total ...
End Sub
Call PreparerDonnees exécute entièrement la Sub PreparerDonnees avant de continuer sur la ligne suivante. Call est en réalité optionnel (PreparerDonnees seul sur une ligne fonctionne aussi), mais l'écrire explicitement rend immédiatement visible qu'il s'agit d'un appel à une autre macro et non d'une simple instruction.
Découper un traitement complexe en étapes nommées
Plutôt qu'une seule Sub de 100 lignes mélangeant préparation, calcul et affichage, découper en plusieurs Sub aux noms clairs (PreparerDonnees, CalculerTotal, AfficherResultat) rend chaque étape testable et compréhensible séparément, et facilite la relecture par quelqu'un d'autre.
Exemple concret : une macro de clôture mensuelle enchaîne quatre étapes distinctes — vérifier les données, calculer les totaux, générer le rapport, archiver le classeur — chacune écrite comme une Sub séparée et appelée dans l'ordre par une seule macro principale Call VerifierDonnees, Call CalculerTotaux, etc., ce qui permet de tester ou modifier une étape sans toucher aux autres.
À vous de jouer : découpez une macro existante en deux Sub séparées, puis appelez-les toutes les deux depuis une nouvelle macro principale avec Call.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 76 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès