Copie de cellule provenant d'un classeur externe

Fermé
agall68 Messages postés 3 Date d'inscription mercredi 13 février 2019 Statut Membre Dernière intervention 18 février 2019 - 13 févr. 2019 à 17:09
agall68 Messages postés 3 Date d'inscription mercredi 13 février 2019 Statut Membre Dernière intervention 18 février 2019 - 18 févr. 2019 à 09:17
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
A voir également:

3 réponses

Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
Modifié le 13 févr. 2019 à 18:58
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
agall68 Messages postés 3 Date d'inscription mercredi 13 février 2019 Statut Membre Dernière intervention 18 février 2019
14 févr. 2019 à 08:50
Merci kalissi pour ta réponse!



Mais j'aimerais par exemple placer mes cellules dans a partir de la cellule E7 directement
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
15 févr. 2019 à 13:38
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
agall68 Messages postés 3 Date d'inscription mercredi 13 février 2019 Statut Membre Dernière intervention 18 février 2019
18 févr. 2019 à 09:17
Merci beaucoup kalissi pour ton aide ca marche parfaitement !!!!!
0