Regrouper plusieurs macro en une seule

Bonsoir à tous,

Voilà mon souci:

J'ai plusieurs macro que je déclenche chacune par un bouton mais je voudrai réussir à les regrouper sous un seul et même bouton puisque je dois réaliser systématiquement les 4 étapes (donc aucun intérêt de les avoir en 4 étapes séparées).

J'ai beau essayé, y'a pas moyen ...

Voilà les 4 codes dans l'ordre que je voudrai:

1- Celui-ci copie une feuille dans le classeur archiveAV1.xls et le copie dans Extraction Liste en cours DS - Copie.xls

Sub Bouton7_Cliquer()

Workbooks("archiveav1.xls").Activate

Dim nbfeuille As Integer
Dim numfact As Integer
nbfeuille = Workbooks("Extraction Liste en cours DS - Copie.xls").Sheets.Count
ActiveSheet.Copy After:=Workbooks("Extraction Liste en cours DS - Copie.xls").Sheets(nbfeuille)
ActiveSheet.Name = "ArchiveAV1.RPT" & (nbfeuille)

Workbooks("Extraction Liste en cours DS - Copie.xls").Activate
Worksheets("Feuil1").Select
End Sub

2- Celui-ci sépare les données d'une cellule en deux cellules:

Private Sub Bouton6_Cliquer()

Worksheets("ArchiveAV1.RPT1").Select

Dim i As Long, ii As Long, iii As Long, iLR As Long, Arr
iLR = Range("B" & Rows.Count).End(xlUp).Row
For i = iLR To 2 Step -1
Arr = Split(Cells(i, 2), ":")
ii = UBound(Arr)
If ii > 0 Then
   For iii = 1 To ii
      Rows(i + 1).Insert Shift:=xlLeft
   Next
   For iii = 0 To ii
      Cells(i + iii, 2) = Arr(0 + iii)
   Next
End If

Next

Worksheets("Feuil1").Select

End Sub

3- Celui-là prend certaines données de ArchiveAV1.RPT et les range dans un tableau plus épuré

Sub extraction()
    derLig = Sheets("ArchiveAV1.RPT1").Range("D" & Rows.Count).End(xlUp).Row
    j = 2
    For i = 1 To derLig
        If Sheets("ArchiveAV1.RPT1").Cells(i + 1, 2) = "Tube " Then
            Tube = Sheets("ArchiveAV1.RPT1").Cells(i + 2, 2)
        Else
            test = Sheets("ArchiveAV1.RPT1").Cells(i, 3)
            resultat = Sheets("ArchiveAV1.RPT1").Cells(i, 4)
        End If
        If Tube <> "" And test <> "" Then
            Sheets("Feuil1").Cells(j, "A") = Tube
            Sheets("Feuil1").Cells(j, "B") = test
            Sheets("Feuil1").Cells(j, "C") = resultat
            j = j + 1
        End If
    Next i
End Sub

4- Et enfin celui-là supprime les lignes vides

Public Sub Essai()

Dim i As Integer, DerniereLigne As Integer

DerniereLigne = Range("C65536").End(xlUp).Row

For i = DerniereLigne To 1 Step -1
    If Worksheets("Feuil1").Cells(i, 3) = "" Then Worksheets("Feuil1").Rows(i).Delete
Next i
End Sub

Si quelqu'un a la solution, je suis preneur !!!

Merci d'avance

Yoann

Bonjour,

as tu regardé du côté de Call ?

sub Macro1

Call macro2

end sub

Sub Macro2

Call Macro3

end sub

etc etc...

La première lancera la 2e qui lance la 3e....

Pas mon truc ça sauf si chaque module est bien écrit et que ce qui est fait en Sub 1 n'empiète pas en Sub 2

P.

Bonsoir Patrick,

Et merci de ta réponse. Malheureusement ça n'a pas l'air de vouloir, j'ai un message : Erreur de compilation Sub ou Fonction non définie.

Yoann


Rectification: ça fonctionne !!!!

Je ne sais pas pourquoi mais quand mes macro s'appelaient Bouton_cliquer, là ça ne focntionnait pas mais maintenant j'ai renommer mes macros sous le format "Macro1", "Macro2" ..etc et là, plus de problème!

Merci beaucoup Patrick, et bonne soirée.

Yoann

Rechercher des sujets similaires à "regrouper macro seule"