Vous pouvez télécharger ici la version de Cours.XLS de la leçon précédente
Nous allons ici discerner les notions de modules et de macros. Commes ajouter, supprimer, modifier, renommer des modules et des macros.
Etat des lieux
Regroupement des macros existantes dans
un seul module
Exportation de modules dans un fichier externe
(.BAS)
Renommer un module
Règles d'or pour le nommage des macros
et des modules
Ouvrez votre fichier de cours, ou téléchargez-le depuis la leçon précédente, et rendez-vous dans l'environnement VBA.
Nous avons déjà vu, dans la leçon 4, comment les macros étaient dispersées dans les modules. Nous allons simplement aller un peu plus loin dans la gestion de ces modules.
Dans mon classeur de cours, j'ai la configuration suivante :
J'ai double cliqué sur chacun de mes modules, et j'ai simplement réduit les fenêtres et je les ai fait se chevaucher pour obtenir cette copie d'écran.
J'ai pas mal de macros dispersées au hasard des modules. L'enregistreur de macros y est pour quelque chose : il stocke les nouveaux enregistrements comme bon lui semble !
En réalité, un module suffit. Un module ou on empile autant de macros qu'on veut. Le seul problème que vous rencontrerez sera organisationnel : en effet, si vous possédez un classeur Excel pourvu d'une centaine de macros, si elles sont toutes groupées dans un seul module, ce ne sera pas pratique pour les retrouver, et travailler avec.
Alors, vous allez faire la même chose que quand vous avez trop de fichiers, vous allez créer des dossiers. Ici, il s'agira de modules. On pourrait avoir par exemple un module qui contient toutes les macros qui trient les données, un autre module avec les macros d'utilité générale, et encore un module, par exemple, qui contiendrait les macros de test que vous génèrerez au fur et à mesure de votre apprentissage.
On ne peut pas créer de sous-modules, comme on crée des sous dossiers.
Regroupement des macros existantes dans un seul module
Jusqu'à présent, nous n'avons que des macros d'apprentissage débutant, générées pour une partie par l'enregistreur. Aussi, je trouverais pratique de les regrouper dans un seul module qui contiendrait l'ensemble de toutes les macros que nous avons généré jusqu'à présent. C'est vraiment très simple : c'est comme un traitement de texte, il vous suffit de sélectionner les macros contenues dans un module, d'aller dans le menu Edition/Couper (ou d'utiliser le menu contextuel), et de coller le résultat en dessous de macros existantes. |
Maintenant, ça va être à vous : mettez l'ensemble de toutes les macros de tous les modules dans le module Module1. Vous devriez obtenir un ensemble de 7 macros. Si vous avez utilisé votre propre fichier de cours plutôt que le mien, il est possible que nous n'ayons pas exactement le même nombre de macros, mais ça n'a pas grande importance, nous ne les utiliserons certainement plus. ATTENTION : Lorsque vous copiez-collez, il peut arriver que tout à coup, par erreur, vous vous retrouviez avec deux macros portant le même nom. Et, même si elles ne sont pas dans le même module, même si leur contenu est différent, c'est totalement interdit (plantages assurés)
|
Maintenant que nos autre modules sont vides, nous allons les supprimer. Il suffit de Clic-Droit sur le module à supprimer, et Supprimer. |
Exportation de modules dans un fichier externe (.BAS)
A la question , répondez NON. Il propose OUI par défaut, je ne sais pas pourquoi... En effet, si vous répondez oui, il va simplement vous proposer de mettre le contenu du module que vous vous apprêtez à supprimer dans un fichier texte à part (avec l'extension .BAS). Mais 99% du temps, quand on désire supprimer un module, ce n'est pas pour le sauvegarder à part !
Supprimez les autres modules jusqu'à ce que vous n'en ayiez plus qu'un :
Renommez ce Module1 en PremieresMacros.
Vous pensez qu'il s'agit de cliquer avec le bouton droit de votre souris sur Module1, et de choisir "Renommer" ? Eh non. Etrangement, ce choix contextuel n'a jamais existé, quelle que soit la version d'Excel.
Pour renommer Module1 : Allez dans le menu Affichage/Fenêtre propriétés. | |
Vous pouvez redimensionner des deux fenêtres avec votre souris, juste ici : | |
Cliquez sur Module1, et renommez-le en PremieresMacros, comme ceci : (PAS D'ESPACES entre Premieres et Macros | |
Dès que vous appuiyerez sur ENTER, le module sera correctement nommé. |
Règles d'or pour le nommage des macros et des modules
Vous pouvez télécharger ici Cours.XLS tel qu'il devrait être à la fin de cette leçon
Vous savez désormais ajouter, renommer et supprimer des modules. Vous savez également comment transférer des macros d'un module vers un autre. Et vous éviterez bien des ennuis en évitant les nommages problématiques.
Créez un classeur Excel exercice006.xls, dans lequel
Vous placerez deux modules : Programmation contenant les Macros Un et Deux,
et Aide qui contient simplement des lignes de commentaires, et agencez les fenêtres
comme ceci :
Téléchargez la solution de l'exercice
ici