Extraire des données provenant de différents tableaux excel

maxence89 Messages postés 4 Date d'inscription lundi 27 décembre 2010 Statut Membre Dernière intervention 15 avril 2011 - 27 déc. 2010 à 12:21
maxence89 Messages postés 4 Date d'inscription lundi 27 décembre 2010 Statut Membre Dernière intervention 15 avril 2011 - 27 déc. 2010 à 15:11
Bonjour à tous!

Je débute un stage et mon probleme est que je dois extraire des données de meme nature provenants de tableaux excel différents, sachant que ces tableaux sont construits sous la meme forme (meme info en (x;y) sur chaque tableaux). Plutot que de faire un copier-coller qui me prendrai des semaines (il y a plusieurs infos à prendre dans une cinquantaine de dossiers excels differents...) je me disais que vous pouriez m'aider à faire une macro...sachant que je ne m'y connais pas beaucoup en excel...
Ma boite m'a donné un dossier excel qui devait me permettre d'extraire ces données, il me met "copie effectué!" mais je ne vois pas ou sont copié les données....voice le "pas à pas détaillé" de la macro:
Sub consolidation()

Dim NOM As String


For O = 1 To 3 '2 car on va rechercher 2 onglets (BPM et BPF)


Encours = ActiveWorkbook.Name
onglet = Workbooks(Encours).Sheets("PARAM_MACRO").Cells(21 + O, 8).Value
DEBUT = Workbooks(Encours).Sheets("PARAM_MACRO").Cells(21 + O, 9).Value
FIN = Workbooks(Encours).Sheets("PARAM_MACRO").Cells(21 + O, 10).Value
NOM = Workbooks(Encours).Sheets("PARAM_MACRO").Cells(21 + O, 12).Value & "_" & "AMO"


Worksheets(NOM).Range("a10:z150").Clear


i = 10


For T = 1 To 6

chemin = Worksheets("PARAM_MACRO").Cells(21 + T, 4).Value
fichier = Dir(chemin & "\*.Xls")

application.ScreenUpdating = False



Do While Len(fichier) > 0


Workbooks.Open chemin & "" & fichier, False, True
Sheets(onglet).Range(DEBUT, FIN).Copy
Windows(Encours).Activate
Worksheets(NOM).Cells(i + 1, 1).Value = Workbooks(fichier).Sheets("FILIALE").Range("d4").Value
Worksheets(NOM).Cells(i + 1, 2).PasteSpecial xlPasteValues
Worksheets(NOM).Cells(i + 1, 2).PasteSpecial xlPasteFormats
Worksheets(NOM).Cells(i + 2, 1) = Worksheets("PARAM_MACRO").Cells(21 + T, 3).Value
Workbooks(fichier).Close SaveChanges:=False
i = i + 1
fichier = Dir

Loop


application.ScreenUpdating = True



i = i + 2

Next T

Next O


MsgBox " *** " & "copie effectuée !" & " *** "
End Sub

voila, merci d'avance!

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
27 déc. 2010 à 14:19
Bonjour,
d'apres ton code, les données sont copiées dans le classeur dont le nom est contenu dans la cellule 21 à 24 de la colonne "L".
'nom du classeur
NOM = Workbooks(Encours).Sheets("PARAM_MACRO").Cells(21 + O, 12).Value & "_" & "AMO" 
'...
'collage des données
Worksheets(NOM).Cells(i + 1, 2).PasteSpecial xlPasteValues 
Worksheets(NOM).Cells(i + 1, 2).PasteSpecial xlPasteFormats 





Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
maxence89 Messages postés 4 Date d'inscription lundi 27 décembre 2010 Statut Membre Dernière intervention 15 avril 2011
27 déc. 2010 à 15:11
OK merci d'avoir répondu, en effet sur le classeur excel, à la colonne L21 il y a marqué "destination" et en dessous (L22 23 24), les trois destinations qui sont les trois autres onglets de ce classeur Excel. Mais il n y a rien sur ces onglets... Je ne comprend pas pourquoi...peut etre y a t il des modifications à faire dans la macro étant donné qu'elle a servi à un autre service de ma boite qui utilisait les memes données mais avec des chemins différents (ils ne peuvent pas m'aider, ils sont en vacances)...
En fait ce dossier excel comprend 4 onglets. Sur le premier onglet, on doit spécifier les chemins qui permettent d'atteindre les différents classeurs d'ou l'on veut extraire des données (sous forme d'un tableau sur la plage B21-D27). A coté il y a le nom de l'onglet (ex: BPM;BPF...ici j'ai demandé BPF) et la plage de cellules qu'on veut extraire. Enfin la destination (de L21 à L24 avec "taux de RAS" Participation" et "Dividendes".
Les trois autres onglets sont les destinations cités ci dessus.
J'éspère avoir été sufisament clair, je te remercie pour ton aide.
0
Rejoignez-nous