De 2 Macros n'en faire qu'une

Bonjour

je voudrais "imbriquer" 2 macros.

Voir fichier joint

Merci

13essais.xlsm (68.43 Ko)

Bonjour Nonno, le forum,

A priori, si tu appelles ta macro d'archivage à la fin de la procédure de ton bouton validation, ça devrait fonctionner.

Sub mouv()
' sais Macro

Dim ListObj As ListObject, Sh As Worksheet, j As Long
Application.ScreenUpdating = False
         Set Sh = Sheets("Mouvement")
    Set ListObj = Sh.ListObjects("Tableau6")
              j = 23
    ListObj.ListRows(1).Range.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    With ListObj
        Sh.Cells(j, 1) = Sh.Range("C7")
        Sh.Cells(j, 2) = Sh.Range("B4")
        Sh.Cells(j, 3) = Sh.Range("D4")
        Sh.Cells(j, 4) = Sh.Range("C13")
        Sh.Cells(j, 5) = Sh.Range("C15")
        Sh.Cells(j, 6) = Sh.Range("C9")
        Sh.Cells(j, 7) = Sh.Range("C10")
    End With
        Call Macro1
End Sub

Cordialement,

Sinon,

A tester:

Sub mouv()
' sais Macro

Dim ListObj As ListObject, Sh As Worksheet, j As Long
Dim listobj2 As ListObject, sh2 As Worksheet, lig As Long

Application.ScreenUpdating = False

         Set Sh = Sheets("Mouvement")
    Set ListObj = Sh.ListObjects("Tableau6")
              j = 23
        Set sh2 = Sheets("Archives")
   Set listobj2 = sh2.ListObjects("Tableau7")
            lig = 2
    ListObj.ListRows(1).Range.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    listobj2.ListRows(1).Range.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    With ListObj
        Sh.Cells(j, 1) = Sh.Range("C7")
        Sh.Cells(j, 2) = Sh.Range("B4")
        Sh.Cells(j, 3) = Sh.Range("D4")
        Sh.Cells(j, 4) = Sh.Range("C13")
        Sh.Cells(j, 5) = Sh.Range("C15")
        Sh.Cells(j, 6) = Sh.Range("C9")
        Sh.Cells(j, 7) = Sh.Range("C10")
    End With

    With listobj2
        sh2.Cells(lig, 1) = Sh.Range("C7")
        sh2.Cells(lig, 2) = Sh.Range("B4")
        sh2.Cells(lig, 3) = Sh.Range("D4")
        sh2.Cells(lig, 4) = Sh.Range("C13")
        sh2.Cells(lig, 5) = Sh.Range("C15")
        sh2.Cells(lig, 6) = Sh.Range("C9")
        sh2.Cells(lig, 7) = Sh.Range("C10")
    End With

End Sub

Cordialement,

Merci

Çà fonctionne parfaitement.

Bonne journée

Cordialement

Nonno

Rechercher des sujets similaires à "macros"