Le 15/04/22 à 02:18, ThierryP a écrit :
exemple à partir de ce je comprends :
Dans le module d'une feuille, tu as une macro de ce type :
Le bouton "commandButton1" émane de la barre d'outils "Activex"
C'est la même chose pour tous les contrôles de cette barre.
'------------------------------
Private Sub CommandButton1_Click()
MsgBox "toto"
End Sub
'------------------------------
Dans un module standard, tu peux appeler la procédure
"CommandButton1_click" à partir d'une autre procédure
Voici la macro du module standard :
'-----------------------------
Sub toto()
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!feuil1.CommandButton1_Click"
Application.Run LaMacro
End Sub
'-----------------------------
Le Thisworkbook est mis en "'" et "'" parce que dans cela provoque une
erreur si le nom du classeur contient un espace dans son nom.
Le "Feuil1" dans "feuil1.CommandButton1_Click" n'est pas le nom de
l'onglet de la feuille, mais la propriété "Name" de l'objet Worksheet
visible seulement dans l'éditeur de code.
Si tu n'as aucune ligne de code mise en "jaune" pour cette erreur, place
devant l'appel de la procédure une ligne de code simple : Stop cela va
arrêter l'exécution du code et tu utilises la touche F8 (pas à pas) afin
de terminer la macro. Tu utilises probablement une propriété qui
n'appartient pas à un objet donné. Désolé, je ne peux pas deviner!
MichD