Bonjour à tous,
Pelerin, retiens ce que Readi a très bien expliqué en quelques mots.
En complément sache que :
- une macro de type PRIVATE se trouve dans une feuille (clique droite sur l'onglet où se trouve la macro). Ces macros réagissent à un évènement. Exemple le changement de valeur dans une cellule.
- Une macro SUB (ou PUBLIC, c'est la même chose) se trouve dans un module. Pour voir ce module, fais ALT+F11 sur ton clavier et à gauche tu verras une fenêtre avec le répertoire VBA Project dans lequel se trouve les modules. Clique sur un module pour voir à droite les macros.
En principe tu peux ne faire qu'un module avec toutes tes macros. Le nombre de modules n'a aucune importance si ce n'est pour gérer ou te retrouver dans tes codes.
Toutes les macros peuvent communiquer entre elles via l'instruction CALL (qui n'est pas obligatoire). Donc si dans un module tu as une macro SUB tata() et dans ta feuille une macro PRIVATE SUB ..., tu peux de la macro PRIVATE SUB appeler la macro SUB TATA. Idem d'une macro vers l'autre dans un module.
Exemple : Appel de la macro TATA depuis une macro dans une feuille.
1. Dans ta feuille
PRIVATE SUB CHANGE5...°
Call Tata
End sub
2. Dans un module VBA
SUB TATA()
'Tes instructions
End sub
Si tu as 45 modules dans ton classeur et qu'il ne comportent pas de macros, tu peux les supprimer car ils ne servent à rien.
Voilà quelques explications qui, je l'espère, t'aideront à mieux comprendre.
Amicalement
Dan