Bonjour,
J’ai affecté plusieurs macros à un bouton, une fois lancé les macros ne s’exécutent pas correctement.
J’ai 3 macros qui ont pour objectif de supprimer une plage d’un tableau dans une feuille déterminée ( 3 macros qui chacun gère une feuille différente).
Je souhaite créer un bouton qui aura pour fonction d’exécuter ces trois macros en même temps.
Cependant une fois le bouton lancé il supprime sur deux feuilles différentes une ligne qui ne doit pas être supprimé.
Je ne sais pas par quoi cela est causé.
Ci-dessous mon code:
Private Sub Supprimer_Click()
A__Efface_données_F1
B__Efface_données_F2
E_Supprimer_donnée_F3
End Sub
les macros lancés une a une ne posent pas de problème.
Merci pour votre aide
Bonjour,
Inutile de créer une macro pour tous rassembler, il suffit de mettre avant le END SUB le noms des macros à exécuter,et elle vont se dérouler automatiquement
Exemple
Sub Efface_données_F1()
'Ta macro d'origine
Efface_données_F2
Efface_données_F3
End Sub
Mimimathy,
Merci pour ta réponse, en effet c’est bien plus pratique!
Mais cela ne règle pas le problème de modification de la plage de suppression dans le deux autres feuille 
En éxécutant la macro une ligne qui ne doit pas être supprimé l’est quand même dans les 2 autres feuilles.
Re,
C’est sur qu’avec un classeur devant ton nez c’est plus facile,
Moi je n’ai que tes infos 
Voici le code que je répète 3 fois en changeant uniquement les noms des feuilles, de « IntLastRow2 » afin de pouvoir identifier chaque feuille et la plage à supprimé.
La macro E s’exécute correctement mais pas les deux suivantes.
Sub E_Supprimer_donnée_F3()
’
'macro permettant d’effacer les données issues de l’onglet « F3 »
’
’
strActiveWk = ActiveWorkbook.Name
Sheets("F3").Select
If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If
IntLastRow2 = Workbooks(strActiveWk).Worksheets("F3").Range("A65536").End(xlUp).Row
Workbooks(strActiveWk).Worksheets("F3").Range("A2:L2" & IntLastRow2).ClearContents
Range("A2:L2").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWindow.SmallScroll Down:=-3
Selection.NumberFormat = "@"
Range("A2").Select
MsgBox ("données F3")
A__Efface_données_F1
B__Efface_données_F2
Re
Déjà là, tu recherche la dernière ligne vide d’un classeur (Workbook)
Workbooks(strActiveWk).Worksheets("F3").Range("A2:L2" & IntLastRow2).ClearContents
--> 
Plutôt
Workbooks(strActiveWk).Worksheets("F3").Range("A2:L" & IntLastRow2).ClearContents
Ensuite les “Select” 
Bref, toute la macro est à revoir 
Les macros une par une fonctionnent. Le problème survient lorsque je les compile dans une seule macro.
Re,
Si tes macros fonctionnent une par une, alors ma solution en Post 2 doit fonctionner, car elle appelle le nom de la 2ème macro à la fin de la 1ère, puis la 3ème à la fin de la 2ème. 
Sinon, place ton classeur, pour voir,
Il y auras déjà de la réduction de code, car la macro présentée est un peu confuse 
Re,
Un exemple
Titoma.xlsm (14,3 Ko)
Merci pour cet exemple!
Est-ce que le faite que les macros ne soient pas dans le même module pourrait impacter le dérouler des 3 macros?
Re,
Non, si c’est dans des modules, pas dans des feuilles (onglets)