macro pour copier/coller des données depuis plusieurs classeurs vers un seul classeur

Manu 31

XLDnaute Nouveau
Bonjour

Tout est dans le titre, ou presque.
Je recupere des données de 4 fichiers que je souhaite regrouper dans un seul fichier, afin de sortir un indicateur valable.
Qu'est ce qui ne va pas dans mon langage vba suivant?



'
Range("A1").Select
ActiveSheet.Paste
Range("A17").Select
ActiveSheet.Paste
Range("I1").Select
End Sub


(dans ce cas mon vba ne s'applique qu'à 2 fichier, c etait pour faire un test).
Les fichiers vont se nommer 1- Manu.xls 2- Henry.xls 3-Alex.xls etc...

En fait, quand je fais tourner ma macro, elle fonctionne, mais elle me copie 2 fois les memes données, au lieu de 2 fois des données differentes...

Merci d'avance. :)
 
G

Guest

Guest
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Bonjour Manu,

En fait dans ta macro avant copie des cellules il vaut mieux specifier la feuille du classeur d'origine et du classeur destination.

Admettons que tu appelle la macro à partir du classeur destination nommé

Code:
dim shDest as Worksheet.Sheets(1)
 
set shDest=ThisWorkbook
set WK2= Worbooks("Manu.xls") 
 
WK2.Sheets("LeNomDeLaFeuille").Range(LaPlage).Copy Destination:=ShDest.Range(laPlageDestination)

Et voilà le tour est joué sans avoir à sélectionner les différentes feuilles et plage de cellules.

A bientôt
 
Dernière modification par un modérateur:

Manu 31

XLDnaute Nouveau
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Oui, pas bete!!! :D

Ca donnerait :

Sheet ("Alex.xls")
Range("B2:c16").Select
Selection.Copy
Windows("4- Manu - Estelle.xls").Activate
Range("a1").Select
ActiveSheet.Paste

End sub

Je me trompe ou pas? (je debute le vba)
 

Manu 31

XLDnaute Nouveau
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Bonjour Manu,

En fait dans ta macro avant copie des cellules il vaut mieux specifier la feuille du classeur d'origine et du classeur destination.

Admettons que tu appelle la macro à partir du classeur destination nommé

Code:
dim shDest=Worksheet
 
set shDest=ThisWorkbook
set WK2= Worbooks("Manu.xls") 
 
WK2.Sheets("LeNomDeLaFeuille").Range(LaPlage).Copy Destination:=ShDest.Range(laPlageDestination)



Et voilà le tour est joué sans avoir à sélectionner les différentes feuilles et plage de cellules.

A bientôt

wk2 veut dire quoi? :eek:
 
G

Guest

Guest
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Re bonjour,

Excuses moi j'ai supposé que tu connaissait un peu VBA.

Pour pouvoir t'aider alors, il faudrait plus d'informations sur les données à copier: dans quelles cellules elles sont et où les coller ( dans quelles cellules)

A bientôt
 
G

Guest

Guest
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Re

J'avais pas rafraichi et vu ton avant dernier message qui contenait:

Sheet ("Alex.xls")
Range("B2:c16").Select
Selection.Copy
Windows("4- Manu - Estelle.xls").Activate
Range("a1").Select
ActiveSheet.Paste

Oui cela peut se faire comme ça mais de façon plus simple:

Code:
sheets("Alex.xls").Range("B2:C16).Copy Destination:= Workbooks("4- Manu - Estelle.xls").Sheets("[COLOR=red]NomDeLaFeuille[/COLOR]").Range("A1")

NomDeLaFeuille est à remplacer par le nom de la feuille du classeur "4- Manu - Estelle.xls" dans laquelle tu veux coller tes information

A bientôt
 

Manu 31

XLDnaute Nouveau
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Je vais tester cela :)

Si je veux le faire poru 4 fichiers excel, je recopie la meme ligne 4 fois, en changeant les noms n'est ce pas?

En fait je pensais connaitre un minimum le vba, mais je me rends compte que vraiment le strict minimum, mais pas assez pour etre à l'aise et autonome.
J ai regardé la formation sur boisgontier jacques.free.fr, j'ai trouvé qq infos, existe t'il un site vraiment top pour apprendre le vba d'une bonne maniere?

A toute :)

et encore merci :) :)
 
G

Guest

Guest
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Re bonjour,

Le site de boisgontier est un excellent site. Tu trouveras en faisant une recherche sur google différents site d'apprentissage qui offrent chacun des spécificités particulières. Pour avoir un bon debut de programmation VBA sur excel je ne saurais que trop te conseiller l'excellent livre:

Excel 2002 et VBA 'le guide du développeur'
de John Walkenback chez OEM

Sinon pour ta question c'est oui, il suffit de changer les noms du classeur des destination et la cellule de destination "A1" >> "A2" >>"A3" etc....

A bientôt et bon apprentissage
 

Manu 31

XLDnaute Nouveau
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

il m'affiche erreur de compilation : erreur de syntaxe. erreur de compilation poru le code suivant :

sheets("Philippe.xls").Range("B2:C16).Copy Destination:= Workbooks("5- Suivi.xls").Sheets("Feuil1").Range("A1")
 
G

Guest

Guest
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Hello Manu,

Excuse moi, j'ai fait une erreur c'est:

Code:
WorkBooks("Philippe.xls").Sheets("[COLOR=red]NomDeLaFeuille[/COLOR]").Range("B2:C16).Copy Destination:= Workbooks("5- Suivi.xls").Sheets("Feuil1").Range("A1")

NomDeLaFeuille est le nom de la feuille qui contient les données à copier.
Dans la hiérarchie des Objets VBA on parle:
1- du Classeur
2- de la feuille
3- de la cellule

Et ceci pour l'origine de la copie et la destination si la destination est dans un autre classeur.

Si c'est dans le même classeur on passe l'étape WorkBooks("Machin")
Si c'est sur la même feuille on passe aussi l'étape Sheets("Truc")

A bientôt
 

Manu 31

XLDnaute Nouveau
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

J'ai le message d'erreur :

Erreur de compilation "Attendu séparateur de liste ou )"


sur le code :

Sub Macro3()
'
' Macro3 Macro
' Manu
'
WorkBooks("Philippe.xls").Sheets("saisie P").Range("B2:C16).Copy Destination:= Workbooks("Suivi.xls").Sheets("Feuil1").Range("A1")
'
Range("C11").Select
End Sub

Je cherche à coté à quoi correspond ce code erreur.
Merci encore :)
 
G

Guest

Guest
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Bonjour Manu,

Il manque un guillemet dans range("B2;C16")

WorkBooks("Philippe.xls").Sheets("saisie P").Range("B2:C16").Copy Destination:= Workbooks("Suivi.xls").Sheets("Feuil1").Range("A1")

a bientôt
 

Manu 31

XLDnaute Nouveau
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Bonjour :)

Exact, je n'avais pas vu.
Maintenant le code passe, mais j'ai un debogage pour
Erreur d'execution "9"
L'indice n'appartient pas à la selection

pour le code


Workbooks("Philippe.xls").Sheets("saisie P").Range("B2:C16").Copy Destination:=Workbooks("Suivi.xls").Sheets("Feuil1").Range("A1")

Manu le penible!! :D

j'offre un test de planche à voile à celui qui trouve
 
G

Guest

Guest
Re : macro pour copier/coller des données depuis plusieurs classeurs vers un seul cla

Manu,

Ce type de message 'Excécution 9' L'indice n'appartient pas à la selection
veut dire que VBA ne trouve pas soit une feuille ou un classeur.

Aussi vérifie bien tes noms et leur existence.

A bientôt
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 779
Membres
101 816
dernier inscrit
Jfrcs