je veux faire une macro qui puisse recopier une série de cellules d'un
fichier vers chaque feuille (chaune porte un nom différent) d'un autre
fichier à partir de la dernière ligne de celle-ci
quelqu'un peut il m'aider à dire ce début de macro ?
Salut Françoise Soit le Classeur1.xls Feuil1 les données à recopier (plage A1 à C5) dans les Feuilles du Classeur2.xls Le code :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy Workbooks("Classeur2.xls").Sheets(i).Range("A1") Next
A actualiser :
Classeur1.xls du nom du classeur des données source Feuil1 du nom de l'onglet source Range ("A1", "C5") de la plage des données à recopier Classeur2.xls du nom du classeur de destination Range("A1") de la première cellule de recopie dans l'onglet de destination
Celà devrait te convenir
Dis moi !!!!
Salut Françoise
Soit le Classeur1.xls Feuil1 les données à recopier (plage A1 à C5)
dans les Feuilles du Classeur2.xls
Le code :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy
Workbooks("Classeur2.xls").Sheets(i).Range("A1")
Next
A actualiser :
Classeur1.xls du nom du classeur des données source
Feuil1 du nom de l'onglet source
Range ("A1", "C5") de la plage des données à recopier
Classeur2.xls du nom du classeur de destination
Range("A1") de la première cellule de recopie dans l'onglet de
destination
Salut Françoise Soit le Classeur1.xls Feuil1 les données à recopier (plage A1 à C5) dans les Feuilles du Classeur2.xls Le code :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy Workbooks("Classeur2.xls").Sheets(i).Range("A1") Next
A actualiser :
Classeur1.xls du nom du classeur des données source Feuil1 du nom de l'onglet source Range ("A1", "C5") de la plage des données à recopier Classeur2.xls du nom du classeur de destination Range("A1") de la première cellule de recopie dans l'onglet de destination
Celà devrait te convenir
Dis moi !!!!
francois.forcet
Rebonjours Françoise
Si tu souhaites réaliser la recopie à partir de la 1° ligne vide de chaque feuille ce code modifié fera l'affaire :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy Workbooks("Classeur2.xls").Sheets(i).Range("A" & Workbooks("Classeur2.xls").Sheets(i).Range("A1").SpecialCells(xlLastCell).Of fset(1, 0).Row) Next Attention les lignes :
doivent être mis bout à bout et non l'une en dessous de l'autre
Je ne peux pas compte tenu de leur longueur les présenter différement
Fais des essais et dis moi !!!!
Rebonjours Françoise
Si tu souhaites réaliser la recopie à partir de la 1° ligne vide de
chaque feuille ce code modifié fera l'affaire :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy
Workbooks("Classeur2.xls").Sheets(i).Range("A" &
Workbooks("Classeur2.xls").Sheets(i).Range("A1").SpecialCells(xlLastCell).Of fset(1,
0).Row)
Next
Attention les lignes :
Si tu souhaites réaliser la recopie à partir de la 1° ligne vide de chaque feuille ce code modifié fera l'affaire :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy Workbooks("Classeur2.xls").Sheets(i).Range("A" & Workbooks("Classeur2.xls").Sheets(i).Range("A1").SpecialCells(xlLastCell).Of fset(1, 0).Row) Next Attention les lignes :
doivent être mis bout à bout et non l'une en dessous de l'autre
Je ne peux pas compte tenu de leur longueur les présenter différement
Fais des essais et dis moi !!!!
Françoise
Bonjour François,
merci de ton aide, c'est presque bon !
En fait j'ai fait un test sur une zone à copier avec la macro suivante issue de ton exemple : === Sub copie_ref() ' For i = 1 To Workbooks("CODE_BARRE_EAN13_TRAVAIL(1).xls").Sheets.Count Workbooks("reference 13 mai.xls").Sheets("REFERENTIEL").Range("C453", "C547").Copy Workbooks("CODE_BARRE_EAN13_TRAVAIL(1).xls").Sheets(i).Range("A414").Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:úlse, Transpose:úlse Next ' End Sub ==== Cela copie bien sur ma première feuille, mais j'ai un blocage pour accéder à la suivante dont voici le rapport d'erreur de VBA lorsque je mets un espion sur la ligne :
dans le détail de Sheets, à la ligne "visible" il met : " impossible de lire la propriété Visible de Variant "
j'ai en tout 27 feuilles portant chacune un nom différent Vois tu où est le problème ? d'avance merci de ton aide
Salut Françoise Soit le Classeur1.xls Feuil1 les données à recopier (plage A1 à C5) dans les Feuilles du Classeur2.xls Le code :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy Workbooks("Classeur2.xls").Sheets(i).Range("A1") Next
A actualiser :
Classeur1.xls du nom du classeur des données source Feuil1 du nom de l'onglet source Range ("A1", "C5") de la plage des données à recopier Classeur2.xls du nom du classeur de destination Range("A1") de la première cellule de recopie dans l'onglet de destination
Celà devrait te convenir
Dis moi !!!!
Bonjour François,
merci de ton aide, c'est presque bon !
En fait j'ai fait un test sur une zone à copier avec la macro suivante issue
de ton exemple :
=== Sub copie_ref()
'
For i = 1 To Workbooks("CODE_BARRE_EAN13_TRAVAIL(1).xls").Sheets.Count
Workbooks("reference 13 mai.xls").Sheets("REFERENTIEL").Range("C453",
"C547").Copy
Workbooks("CODE_BARRE_EAN13_TRAVAIL(1).xls").Sheets(i).Range("A414").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:úlse, Transpose:úlse
Next
'
End Sub
==== Cela copie bien sur ma première feuille, mais j'ai un blocage pour accéder à
la suivante dont voici le rapport d'erreur de VBA lorsque je mets un espion
sur la ligne :
dans le détail de Sheets, à la ligne "visible" il met :
" impossible de lire la propriété Visible de Variant "
j'ai en tout 27 feuilles portant chacune un nom différent
Vois tu où est le problème ?
d'avance merci de ton aide
Salut Françoise
Soit le Classeur1.xls Feuil1 les données à recopier (plage A1 à C5)
dans les Feuilles du Classeur2.xls
Le code :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy
Workbooks("Classeur2.xls").Sheets(i).Range("A1")
Next
A actualiser :
Classeur1.xls du nom du classeur des données source
Feuil1 du nom de l'onglet source
Range ("A1", "C5") de la plage des données à recopier
Classeur2.xls du nom du classeur de destination
Range("A1") de la première cellule de recopie dans l'onglet de
destination
En fait j'ai fait un test sur une zone à copier avec la macro suivante issue de ton exemple : === Sub copie_ref() ' For i = 1 To Workbooks("CODE_BARRE_EAN13_TRAVAIL(1).xls").Sheets.Count Workbooks("reference 13 mai.xls").Sheets("REFERENTIEL").Range("C453", "C547").Copy Workbooks("CODE_BARRE_EAN13_TRAVAIL(1).xls").Sheets(i).Range("A414").Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:úlse, Transpose:úlse Next ' End Sub ==== Cela copie bien sur ma première feuille, mais j'ai un blocage pour accéder à la suivante dont voici le rapport d'erreur de VBA lorsque je mets un espion sur la ligne :
dans le détail de Sheets, à la ligne "visible" il met : " impossible de lire la propriété Visible de Variant "
j'ai en tout 27 feuilles portant chacune un nom différent Vois tu où est le problème ? d'avance merci de ton aide
Salut Françoise Soit le Classeur1.xls Feuil1 les données à recopier (plage A1 à C5) dans les Feuilles du Classeur2.xls Le code :
For i = 1 To Workbooks("Classeur2.xls").Sheets.Count Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1", "C5").Copy Workbooks("Classeur2.xls").Sheets(i).Range("A1") Next
A actualiser :
Classeur1.xls du nom du classeur des données source Feuil1 du nom de l'onglet source Range ("A1", "C5") de la plage des données à recopier Classeur2.xls du nom du classeur de destination Range("A1") de la première cellule de recopie dans l'onglet de destination
Celà devrait te convenir
Dis moi !!!!
francois.forcet
Rebonjour Françoise
As tu des onglets cachés dans le fichier de recopie ??? Tu peux faire des essais avec un classeur vierge Recopier 1 à 1 tes onglets relancer la macro afin de cerner ceux qui posent un PB Et me donner le résultat
Tu peux aussi me transmettre ton document par l'intermédiaire de ce site :
http://www.cijoint.fr/index.php
Donnes moi le lien pour le récupérer afin que je l'étudie
Dans l'attente de te lire
Rebonjour Françoise
As tu des onglets cachés dans le fichier de recopie ???
Tu peux faire des essais avec un classeur vierge
Recopier 1 à 1 tes onglets relancer la macro afin de cerner ceux qui
posent un PB
Et me donner le résultat
Tu peux aussi me transmettre ton document par l'intermédiaire de ce
site :
http://www.cijoint.fr/index.php
Donnes moi le lien pour le récupérer afin que je l'étudie
As tu des onglets cachés dans le fichier de recopie ??? Tu peux faire des essais avec un classeur vierge Recopier 1 à 1 tes onglets relancer la macro afin de cerner ceux qui posent un PB Et me donner le résultat
Tu peux aussi me transmettre ton document par l'intermédiaire de ce site :
http://www.cijoint.fr/index.php
Donnes moi le lien pour le récupérer afin que je l'étudie
Dans l'attente de te lire
francois.forcet
Rebonjour Françoise
En relisant ton code s'inspirant du mien je viens de m'apercevoir que tu n'as pas eu la même approche Dans ta démarche tu as mal utilisé cette instruction :
En relisant ton code s'inspirant du mien je viens de m'apercevoir que
tu n'as pas eu la même approche
Dans ta démarche tu as mal utilisé cette instruction :
En relisant ton code s'inspirant du mien je viens de m'apercevoir que tu n'as pas eu la même approche Dans ta démarche tu as mal utilisé cette instruction :
Ca marche super bien ! j'essaierai la version avec "dernière ligne" plus tard, car je dois passer à d'autres activités, et n'ai pas le temps de le faire maintenant
en attendant encore merci pour ton aide précieuse @+
Rebonjour Françoise
En relisant ton code s'inspirant du mien je viens de m'apercevoir que tu n'as pas eu la même approche Dans ta démarche tu as mal utilisé cette instruction :
Ca marche super bien !
j'essaierai la version avec "dernière ligne" plus tard, car je dois passer à
d'autres activités, et n'ai pas le temps de le faire maintenant
en attendant encore merci pour ton aide précieuse
@+
Rebonjour Françoise
En relisant ton code s'inspirant du mien je viens de m'apercevoir que
tu n'as pas eu la même approche
Dans ta démarche tu as mal utilisé cette instruction :
Ca marche super bien ! j'essaierai la version avec "dernière ligne" plus tard, car je dois passer à d'autres activités, et n'ai pas le temps de le faire maintenant
en attendant encore merci pour ton aide précieuse @+
Rebonjour Françoise
En relisant ton code s'inspirant du mien je viens de m'apercevoir que tu n'as pas eu la même approche Dans ta démarche tu as mal utilisé cette instruction :