Fusionner deux codes VBA

Bonjour, tout le monde. N'ayant aucune connaissance en vba, je fais mes macros avec l'enregistreur de macro. Ce que je veux faire ce coup ci, c'est ouvrir un deuxieme fichier (export_données), copier des données de mon fichier sources "tdb automatisation", les recoller dans mon deuxieme fichier export_données, puis effectuer une macro (macro1) du deuxieme fichier.

Donc j'ai dejà enregistré ma macro (premier code) puis fais une deuxieme macro (codes que j'ai trouvé sur internet) qui m'effectue la macro de mon deuxieme fichier. Donc les deux séparement ca fonctionne, mais si je mets Application.Run "Export_données.xls!Module1.Macro1" après Windows("tdb automatisation.xls").Activate

, la macro de mon deuxieme fichier ne s'active pas.

Moi ce que j'aimerai c'est que la macro1 du fichier 2 (export_données) s'effectue juste après la macro enregistrée avec l'enregistreur. Vous pouvez m'aider svp?

Sub Export()
'
' export Macro
' Macro enregistrée le 03/06/2011 par bjop
'

'
    ChDir "Q:\Controle de gestion\0200 Stagiaire"
    Workbooks.Open Filename:= _
        "Q:\Controle de gestion\0200 Stagiaire\Export_données.xls"
    Windows("tdb automatisation.xls").Activate
    ActiveWindow.SmallScroll Down:=-12
    Range("A22:E34").Select
    Selection.Copy
    Windows("Export_données.xls").Activate
    ActiveWindow.SmallScroll Down:=-42
    Range("A22").Select
    ActiveWindow.SmallScroll Down:=-18
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=12
    Windows("tdb automatisation.xls").Activate
    ActiveWindow.SmallScroll Down:=18
    Range("A54:J201").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Export_données.xls").Activate
    ActiveWindow.SmallScroll Down:=36
    Range("A54").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("tdb automatisation.xls").Activate
    ActiveWindow.SmallScroll Down:=-66
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    Range("AC16").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Export_données.xls").Activate
    ActiveWindow.SmallScroll Down:=-54
    Range("A4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.WindowState = xlMinimized
    Application.WindowState = xlMinimized
    Windows("tdb automatisation.xls").Activate
    Range("AC17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Export_données.xls").Activate
    ActiveWindow.SmallScroll Down:=21
    Range("A36").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=15
    Windows("tdb automatisation.xls").Activate

End Sub
_____________________________________________________________________

Sub Export2()
Application.Run "Export_données.xls!Module1.Macro1"
End Sub

Bonjour,

Et comme ça?

Sub Export()
    '
    ' export Macro
    ' Macro enregistrée le 03/06/2011 par bjop
    '

    '
       ChDir "Q:\Controle de gestion\0200 Stagiaire"
        Workbooks.Open Filename:= _
            "Q:\Controle de gestion\0200 Stagiaire\Export_données.xls"
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=-12
        Range("A22:E34").Select
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=-42
        Range("A22").Select
        ActiveWindow.SmallScroll Down:=-18
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.SmallScroll Down:=12
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=18
        Range("A54:J201").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=36
        Range("A54").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=-66
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 5
        ActiveWindow.ScrollColumn = 6
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 10
        ActiveWindow.ScrollColumn = 11
        ActiveWindow.ScrollColumn = 12
        ActiveWindow.ScrollColumn = 13
        ActiveWindow.ScrollColumn = 14
        ActiveWindow.ScrollColumn = 15
        ActiveWindow.ScrollColumn = 16
        ActiveWindow.ScrollColumn = 17
        ActiveWindow.ScrollColumn = 18
        ActiveWindow.ScrollColumn = 19
        Range("AC16").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=-54
        Range("A4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.WindowState = xlMinimized
        Application.WindowState = xlMinimized
        Windows("tdb automatisation.xls").Activate
        Range("AC17").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=21
        Range("A36").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.SmallScroll Down:=15
        Windows("tdb automatisation.xls").Activate
        Application.Run "Export_données.xls!Module1.Macro1"
    End Sub

nan ca ca marche pas j'ai essayé. En fait la Macro1 c'est masquer des lignes. Je veux qu'une fois que j'ai copié toutes les données de mon fichier source et recollé dans le fichier export_données, et bien il faut que la macro1 du fichier export_données me masque les lignes vides (une macro que j'ai deja vu avec des personnes sur ce forum).

Donc si je fais les deux macro une apres l'autre (d'abord celle enregistrée, puis Application.Run "Export_données.xls!Module1.Macro1") ca fait l'effet que je veux, mais en mettant juste derriere Application.Run "Export_données.xls!Module1.Macro1,ca ne marche pas le masque. Ca existe pas un code qui dit d'abord faire la macro enregistrée puis, après, activer la macro de l'autre fichier?

Et si tu appels Export2 dans Export?

    Sub Export()
    '
    ' export Macro
    ' Macro enregistrée le 03/06/2011 par bjop
    '

    '
       ChDir "Q:\Controle de gestion\0200 Stagiaire"
        Workbooks.Open Filename:= _
            "Q:\Controle de gestion\0200 Stagiaire\Export_données.xls"
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=-12
        Range("A22:E34").Select
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=-42
        Range("A22").Select
        ActiveWindow.SmallScroll Down:=-18
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.SmallScroll Down:=12
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=18
        Range("A54:J201").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=36
        Range("A54").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=-66
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 5
        ActiveWindow.ScrollColumn = 6
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 10
        ActiveWindow.ScrollColumn = 11
        ActiveWindow.ScrollColumn = 12
        ActiveWindow.ScrollColumn = 13
        ActiveWindow.ScrollColumn = 14
        ActiveWindow.ScrollColumn = 15
        ActiveWindow.ScrollColumn = 16
        ActiveWindow.ScrollColumn = 17
        ActiveWindow.ScrollColumn = 18
        ActiveWindow.ScrollColumn = 19
        Range("AC16").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=-54
        Range("A4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.WindowState = xlMinimized
        Application.WindowState = xlMinimized
        Windows("tdb automatisation.xls").Activate
        Range("AC17").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=21
        Range("A36").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.SmallScroll Down:=15
        Windows("tdb automatisation.xls").Activate
        Call Export2

    End Sub
    _____________________________________________________________________

    Sub Export2()
    Application.Run "Export_données.xls!Module1.Macro1"
    End Sub

toujours pas hélas...

C'est peut etre qu'il les execute en meme temps? Il faut faire d'abord une et apres l'autre.

Les deux séparement ca fonctionne, mais ensembe non... Je ne sais pas comment faire

Non elles ne s'exécutent pas en même temps, seulement quand tu l'appel. Essai en activant ton deuxième tableau après avoir appeler la macro :

Sub Export()
    '
   ' export Macro
   ' Macro enregistrée le 03/06/2011 par bjop
   '

    '
      ChDir "Q:\Controle de gestion\0200 Stagiaire"
        Workbooks.Open Filename:= _
            "Q:\Controle de gestion\0200 Stagiaire\Export_données.xls"
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=-12
        Range("A22:E34").Select
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=-42
        Range("A22").Select
        ActiveWindow.SmallScroll Down:=-18
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.SmallScroll Down:=12
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=18
        Range("A54:J201").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=36
        Range("A54").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Windows("tdb automatisation.xls").Activate
        ActiveWindow.SmallScroll Down:=-66
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 5
        ActiveWindow.ScrollColumn = 6
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 10
        ActiveWindow.ScrollColumn = 11
        ActiveWindow.ScrollColumn = 12
        ActiveWindow.ScrollColumn = 13
        ActiveWindow.ScrollColumn = 14
        ActiveWindow.ScrollColumn = 15
        ActiveWindow.ScrollColumn = 16
        ActiveWindow.ScrollColumn = 17
        ActiveWindow.ScrollColumn = 18
        ActiveWindow.ScrollColumn = 19
        Range("AC16").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=-54
        Range("A4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.WindowState = xlMinimized
        Application.WindowState = xlMinimized
        Windows("tdb automatisation.xls").Activate
        Range("AC17").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Export_données.xls").Activate
        ActiveWindow.SmallScroll Down:=21
        Range("A36").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.SmallScroll Down:=15
        Call Export2
        Windows("tdb automatisation.xls").Activate

    End Sub
    _____________________________________________________________________

    Sub Export2()
    Application.Run "Export_données.xls!Module1.Macro1"
    End Sub

Je vais essayer de mon coter.

ah ce coup ci ca marche ! je te remercie beaucoup. a+

Rechercher des sujets similaires à "fusionner deux codes vba"