Copie de cellule provenant d'un classeur externe

agall68 Messages postés 3 Statut Membre -  
agall68 Messages postés 3 Statut Membre -
Bonjour,

Je cherche à copier une plage de cellule d'un classeur en feuil1 pour les copier dans un autre classeur dans la feuille "toto" à partir de la cellule B2 par exemple.

Voici mon code :

Sub import()

'choix fichier
MsgBox "Choisir le fichier "
Fichier = Application.GetOpenFilename
Workbooks.Open Filename:=Fichier

ActiveWorkbook.Sheets(1).Cells.Copy
With ThisWorkbook.Sheets("toto").Cells
.PasteSpecial Paste:=xlPasteValues
.Application.CutCopyMode = False
End With
ActiveWorkbook.Close

ThisWorkbook.Activate

End Sub

Merci de votre aide

Configuration: Windows / Chrome 57.0.2987.133

3 réponses

  1. Kalissi Messages postés 221 Statut Membre 20
     
    Bonjour,

    Pour copier une feuille entière, il faut se positionner sur la cellule A1.

    Exemple type :

    Option Explicit
    '
    
    Public Sub Import()
    
        Dim NomFichier As String
        Dim ClasseurCourant As Workbook
        Dim ClasseurACopier As Workbook
        
        Set ClasseurCourant = ThisWorkbook
        NomFichier = ChoisirFichier
        
        If (NomFichier <> "") Then
            Workbooks.Open Filename:=NomFichier
            Set ClasseurACopier = ActiveWorkbook
            ActiveWorkbook.Sheets(1).Cells.Copy
            ClasseurCourant.Sheets("Toto").Range("A1").Select
            ActiveCell.PasteSpecial Paste:=xlPasteValues
            Application.CutCopyMode = False
            ClasseurACopier.Activate
            ClasseurACopier.Close
            ClasseurCourant.Activate
            ActiveWorkbook.ActiveSheet.Range("A1").Select
        End If
    
    End Sub
    '
    
    Private Function ChoisirFichier() As String
    
        Dim Fichier As String
        
        ' Choix fichier
        MsgBox "Choisir le fichier "
        Fichier = Application.GetOpenFilename
    
        ChoisirFichier = Fichier
    
    End Function
    


    K
    1
    1. agall68 Messages postés 3 Statut Membre
       
      Merci kalissi pour ta réponse!



      Mais j'aimerais par exemple placer mes cellules dans a partir de la cellule E7 directement
      0
  2. Kalissi Messages postés 221 Statut Membre 20
     
    Bonjour,

    Il te suffit de sélectionner la plage à copier :

     ActiveWorkbook.Sheets(1).Range("A1:C6").Select
     Selection.Copy
    


    Ça donne quelque chose du genre :

    Option Explicit
    '
    
    Public Sub Import()
    
        Dim NomFichier As String
        Dim ClasseurCourant As Workbook
        Dim ClasseurACopier As Workbook
        
        Set ClasseurCourant = ThisWorkbook
        NomFichier = ChoisirFichier
        
        If (NomFichier <> "") Then
            Workbooks.Open Filename:=NomFichier
            Set ClasseurACopier = ActiveWorkbook
            ActiveWorkbook.Sheets(1).Range("A1:C6").Select
            Selection.Copy
            ClasseurCourant.Activate
            Sheets("Toto").Select
            Range("E7").Select
            ActiveCell.PasteSpecial Paste:=xlPasteValues
            Application.CutCopyMode = False
            ClasseurACopier.Activate
            ClasseurACopier.Close
            ClasseurCourant.Activate
            ActiveWorkbook.ActiveSheet.Range("A1").Select
        End If
    
    
    End Sub
    '
    
    Private Function ChoisirFichier() As String
    
        Dim Fichier As String
        
        ' Choix fichier
        MsgBox "Choisir le fichier "
        Fichier = Application.GetOpenFilename
    
        ChoisirFichier = Fichier
    
    End Function
    


    K
    1
  3. agall68 Messages postés 3 Statut Membre
     
    Merci beaucoup kalissi pour ton aide ca marche parfaitement !!!!!
    0