Copie de classeurs

Bonjour à tous,

Je réouvre un sujet puisuqe le dernier n'était pas très clair de ma part.

J'ai donc joins mes deux fichiers avec un macro comprise dedans, c'est un code enregistré.

1: je ne sais pas faire fonctionner la macro sans que la fenêtre du classeur source s'ouvre à chaque fois.

2: Il faut savoir que le nom du fichier source sera différent après chaque copie.

3: j'aimerai que les lignes soient copiées les une en dessous des autres à chaque nouveau classeur.

Pour le moment ça serait, bien.

Merci à vous tous.

Sub Macro3()
'
' Macro3 Macro
'

    Windows("source").Activate
    Range("F37:H37").Select
    Selection.Copy
    Windows("destination.xlsm").Activate
    Range("E2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("source").Activate
    Range("F38:H38").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("destination.xlsm").Activate
    Range("F2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G2").Select
    Windows("source").Activate
    Range("N37:O37").Select
    Application.CutCopyMode = False
    Selection.Copy
    Application.WindowState = xlMinimized
    Windows("destination.xlsm").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.WindowState = xlMinimized
    Application.WindowState = xlNormal
    Windows("source").Activate
    Range("N35:O35").Select
    Application.CutCopyMode = False
    Selection.Copy
    Application.WindowState = xlMinimized
    Application.WindowState = xlNormal
    Application.WindowState = xlNormal
    Windows("destination.xlsm").Activate
    Range("Q2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("source").Activate
    Range("D43:O51").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("destination.xlsm").Activate
    Range("R2").Select
    Range("R2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P6").Select
End Sub
2source.xlsx (29.24 Ko)
2destination.xlsm (25.63 Ko)

Quelqu'un a-t-il une idée de simplification ?

Bonjour,

Je te retourne tes deux fichiers. Enregistre-les.

1) Ouvre le fichier destination.xlsm qui contient de la macro. (ALT + F11 pour voir la macro)

2) Clique sur le bouton

3) Ouvre le fichier source.xlsx

Tu peux ouvrir autant de fichiers sources. Les lignes seront enregistrées à la suite.

4source.xlsx (22.48 Ko)
5destination.xlsm (21.21 Ko)

Merci je regarde ce soir.

Merci beaucoup, cette idée est bien aussi, d'ouvrir la destination du fichier.

A la base il serait déjà ouvert...

Je vais voir pour remettre la barre des menu sur la ligne 1 et commencer à copier sur la ligne 2.

Encore merci, je te dirai si je n'y arrive pas.

Re, j'ai testé et ta version me plait bien, j'essaye de mettre une condition qui dit que si la cellule K16 du fichier source est égal à HA (par exemple) que l'on soit prévenu.

   If Range("K16") = HA Then
    MsgBox "Attention HA"
   End If

Ca ne doit pas être ça.

Re,

Essaye comme ça :

If Range("K16") = "HA" Then
MsgBox "Attention HA"
End If

Si ça ne marche pas dis-moi à quoi correspond HA

Je vois cette semaine, merci.

Rechercher des sujets similaires à "copie classeurs"