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   -
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...

3 réponses

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

    Daniel
    0
    1. Alex_HX8XF Messages postés 11 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
  3. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
     
    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
    1. Alex_HX8XF Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   417
       
      Génial merci!!!!
      0