Copier coller une cellule
Résolu
Clem
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaite enregistrer une macro qui permette de coller une cellule (sa valeur) d'un fichier X dans une cellule d'un fichier y.
Je suis partie d'un exemple qui copie l'ensemble d'un tableau et colle à la suite d'un autre, mais je n'arrive pas à adapter ma formule.
Pouvez-vous m'indiquer quelle expression utiliser pour sélectionner une seule cellule et la coller sur une cellule bien précise de mon tableau ?
Sub copier_coller()
'on indique que le fichier moi est le fichier principal. celui qui est ouvert en 1er.
'le fichier lui est le fichier que l'on a ouvert en 2éme pour copier les infos. on le definit pour pouvoir le fermer par la suite.
Dim WorkbookMoi As Workbook
Dim NoLigne As Long
Dim WorkbookLui As Workbook
Dim reponse As Integer
Set WorkbookMoi = ActiveWorkbook
WorkbookMoi.Sheets("testmacro").Cells ("B10")
'on se met sur le bon classeur, feuille (nom_onglet) puis dans la bonne cellule.
Workbooks.Open Filename:="C:\visites.xls"
Set WorkbookLui = ActiveWorkbook
' une fois la cellule sélectionnée on la copie
ActiveWorkbook.ActiveSheet.Range("D30").Select
Selection.Copy Destination:=WorkbookMoi.Sheets("testmacro").Cells("B10")
'Fermeture du WorkbookLui. pas précaution, on lui dit qu'il est déjà sauvegarder : WorkbookLui.Saved = True
WorkbookLui.Saved = True
WorkbookLui.Close
End Sub
Je vous remercie de vos lumières.
Je souhaite enregistrer une macro qui permette de coller une cellule (sa valeur) d'un fichier X dans une cellule d'un fichier y.
Je suis partie d'un exemple qui copie l'ensemble d'un tableau et colle à la suite d'un autre, mais je n'arrive pas à adapter ma formule.
Pouvez-vous m'indiquer quelle expression utiliser pour sélectionner une seule cellule et la coller sur une cellule bien précise de mon tableau ?
Sub copier_coller()
'on indique que le fichier moi est le fichier principal. celui qui est ouvert en 1er.
'le fichier lui est le fichier que l'on a ouvert en 2éme pour copier les infos. on le definit pour pouvoir le fermer par la suite.
Dim WorkbookMoi As Workbook
Dim NoLigne As Long
Dim WorkbookLui As Workbook
Dim reponse As Integer
Set WorkbookMoi = ActiveWorkbook
WorkbookMoi.Sheets("testmacro").Cells ("B10")
'on se met sur le bon classeur, feuille (nom_onglet) puis dans la bonne cellule.
Workbooks.Open Filename:="C:\visites.xls"
Set WorkbookLui = ActiveWorkbook
' une fois la cellule sélectionnée on la copie
ActiveWorkbook.ActiveSheet.Range("D30").Select
Selection.Copy Destination:=WorkbookMoi.Sheets("testmacro").Cells("B10")
'Fermeture du WorkbookLui. pas précaution, on lui dit qu'il est déjà sauvegarder : WorkbookLui.Saved = True
WorkbookLui.Saved = True
WorkbookLui.Close
End Sub
Je vous remercie de vos lumières.
A voir également:
- Copier coller une cellule
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
- Comment copier une vidéo youtube - Guide
- Style d'écriture a copier coller - Guide
2 réponses
Bonjour,
Essayez ceci en adaptant le nom de la feuille (en gras dans le code) :
Cordialement,
Franck P
Essayez ceci en adaptant le nom de la feuille (en gras dans le code) :
Sub copier_coller() 'on indique que le fichier moi est le fichier principal. celui qui est ouvert en 1er. 'le fichier lui est le fichier que l'on a ouvert en 2éme pour copier les infos. on le definit pour pouvoir le fermer par la suite. Dim WorkbookMoi As Workbook Dim NoLigne As Long Dim WorkbookLui As Workbook Dim reponse As Integer Set WorkbookMoi = ActiveWorkbook Set WorkbookLui = Workbooks.Open("C:\visites.xls") With WorkbookLui .Sheets("NOM_DE_LA_FEUILLE").Range("D30").Copy Destination:=WorkbookMoi.Sheets("testmacro").Range("B10") .Saved = True .Close End With End Sub
Cordialement,
Franck P
Copie la colonne X du classeur ouvert vers le classeur en celule Y defini dans "chemin"
Dim classeurSource As Workbook, classeurDestination As Workbook
Dim chemin As String
Dim lignedestination, lignesource As Integer
lignesource = 2
lignedestination = 2
chemin = "C:\......."
Set classeurDestination = ThisWorkbook
Set classeurSource = Application.Workbooks.Open(chemin, , True)
Do While Not (IsEmpty(classeurSource.Sheets(1).Range("X" & lignesource)))
classeurDestination.Sheets(1).Range("Y" & lignedestination) = classeurSource.Sheets(1).Range("A" & lignesource)
lignesource = lignesource + 1
lignedestination = lignedestination + 1
Loop
Dim classeurSource As Workbook, classeurDestination As Workbook
Dim chemin As String
Dim lignedestination, lignesource As Integer
lignesource = 2
lignedestination = 2
chemin = "C:\......."
Set classeurDestination = ThisWorkbook
Set classeurSource = Application.Workbooks.Open(chemin, , True)
Do While Not (IsEmpty(classeurSource.Sheets(1).Range("X" & lignesource)))
classeurDestination.Sheets(1).Range("Y" & lignedestination) = classeurSource.Sheets(1).Range("A" & lignesource)
lignesource = lignesource + 1
lignedestination = lignedestination + 1
Loop
Effectivement je n'avais pas nommé ma feuille, mais malheureusement cela ne fonctionne toujours pas. Le fichier source ne s'ouvre même pas.
Un grand merci.
Cool.
De rien
A+