Copie d'un classeur à un autre "VBA"

Résolu
Alex_HX8XF Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   -  
Alex_HX8XF Messages postés 340 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 ;)


A voir également:

3 réponses

danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
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
0
Alex_HX8XF Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   417
 
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
0
danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
La méthode GetOpenFileName n'est pas correcte. Qu'est-ce que tu cherches à faire ?.

Daniel
0
Alex_HX8XF Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   417
 
Je cherche à copier "A_END" qui est dans "Feuil1" du classeur "Classement"
Vers "B5" qui est dans "Feuil1" du classeur ou se trouve le code.
0
danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
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
0
Alex_HX8XF Messages postés 340 Date d'inscription   Statut Membre Dernière intervention   417
 
Génial merci!!!!
0