Copie de cellule provenant d'un classeur externe
agall68
Messages postés
3
Statut
Membre
-
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
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
-
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 -
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 -
Merci beaucoup kalissi pour ton aide ca marche parfaitement !!!!!
