Bonjour JeanF44
Un VBA ne doit pas être déclaré Public il est par essence Public s'il se trouve dans un Module ou dans l'onglet THISWORKBOOK.
Seuls les VBA développé dans les onglets Feuille sont spécifiques à la Feuille et non au classeur.
Tous les VBA se trouvant dans les modules ou dans THISWORKBOOK peuvent être utilisés dans le classeur à n'importe quel moment à partir d'un autre VBA se trouvant dans le classeur.
C'est ce que l'on appelle un sous-programme.
Quand on désire utiliser un sous programme, il suffit de l'appeler par son nom dans un autre VBA.
Par exemple tu développes un VBA de TRI d'une plage. Le nom du VBA est Sub TRI()
Dans un autre VBA tu développes une série d'opérations et tu désires que le tri se refasse car tu as changé les données, il suffit de mettre l'instruction TRI et le VBA en cours va déclencher le VBA TRI et quand celui-ci aura terminé, excel reviendra automatiquement dans le VBA de départ et continuera les opérations que tu désires faire.
Il faudrait pour mieux te guider que tu envoies ton classeur afin que je puisse me rendre compte de ce que tu désires faire car il y a de nombreuses façons de gérer les VBA et je ne peux pas te faire un manuel complet dans ce forum...
Pour ce qui est est des variables constantes, cela existe effectivement.
Ce sont des variables qui servent, comme leur nom l'indique, à mettre des valeurs constantes càd immuables.
On ne change une variable constante qu'en changeant la programmation du VBA et en modifiant sa déclaration.
Une variable constante se déclare de la manière suivante :
Const NbreTrim As Integer = 4
La constante s'appelle NbreTrim et sa valeur est 4
Si la constante doit être utilisée par tous les VBA du classeur, il faut également la déclarée comme Public dans un module :
Public Const Nom As String = "Charles"
Ceci n'est pas exhaustif : pour être plus précis envoies ton projet et notamment expliques pourquoi tu veux répéter un même SUB dans plusieurs modules
A+
Chris