Copie d'un classeur à un autre "VBA"
Résolu
Alex_HX8XF
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Alex_HX8XF Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Alex_HX8XF Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite copier des cellules d'un classeur à un autre:
de: "Classeur1:A83:A2000;G83:H2000"
vers:"Classeur2:A83:A2000;B83:C2000" (Les cellules de G&H du classeur1 se retrouvent en B&C)
Sachant aussi que dans le classeur1 j'insert souvent une ligne entre A83 et A84 (cela vas poser un problème?).
Donc est-ce possible?
Merci ;)
--
L'amour rend aveugle mais le mariage rend la vue...
Je souhaite copier des cellules d'un classeur à un autre:
de: "Classeur1:A83:A2000;G83:H2000"
vers:"Classeur2:A83:A2000;B83:C2000" (Les cellules de G&H du classeur1 se retrouvent en B&C)
Sachant aussi que dans le classeur1 j'insert souvent une ligne entre A83 et A84 (cela vas poser un problème?).
Donc est-ce possible?
Merci ;)
--
L'amour rend aveugle mais le mariage rend la vue...
3 réponses
-
Bonjour,
Donne un nom aux deux plages source. Ils intégreront les lignes insérées.
Pour la destination, ne précise que la première cellule.
Cordialement.
Daniel-
Donc j'ai renommer la plage "A83:A2000" en A_END
Voici mon code vba: (il y as une erreur mais où?)
Sub SelectFichier() Dim MonFichier MonFichier = Application.GetOpenFilename("E:\Users\Marco\Desktop\Classement.xlsm") If MonFichier <> False Then Copie (MonFichier) Else MsgBox "Vous n'avez pas sélectionné de fichier" End If End Sub Sub Copie(MonFichier) Dim nomUn, NewBook As Workbook Set nomUn = ThisWorkbook Set NewBook = Workbooks.Open(MonFichier) NewBook.Activate Sheets("Feuil1").Range("A_END").Copy nomUn.Activate Worksheets("Feuil1").Range("B5").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False NewBook.Close False End Sub
-
-
La méthode GetOpenFileName n'est pas correcte. Qu'est-ce que tu cherches à faire ?.
Daniel -
Ca devrait suffire (non testé) :
Sub Copie()
Dim nomUn, NewBook As Workbook
Set nomUn = ThisWorkbook
Set NewBook = Workbooks.Open("E:\Users\Marco\Desktop\Classement.xlsm")
NewBook.Activate
Sheets("Feuil1").Range("A_END").Copy
nomUn.Activate
Worksheets("Feuil1").Range("B5").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
NewBook.Close False
End Sub
Daniel