Spinzi
XLDnaute Impliqué
Bonjour à tous,
je cherche à ramener des infos depuis différents classeurs en 1 seul.
j'ai suivi cette procédure : http://www.info-3000.com/vbvba/syntheseplusieursclasseurs/
mais la macro me renvoie une erreur à ce niveau là :
J'ai bien créé un dossier (ChDir), avec 2 fichiers en .xlsx à l'intérieur.
En effectuant ce test il les trouve bien :
Pourriez vous m'aider ?
De plus, il faudra que j'aille chercher mon tableau (Used.Rang) dans une feuille masquée mais nommée toujours pareil : Est-ce que cela peut poser souci ?
Voici le code complet :
Pour résumer mon besoin :
Tous les mois je reçois des fichiers Excel. Il ne contiennent qu'une seule ligne dont j'ai besoin qui est située sur l'onglet caché "Feuil1".
Tous ces fichiers sont sauvegardés dans un dossier commun et ils ont donc tous le même chemin.
Je souhaite que la macro parcourt tous les fichiers du dossier (sauf le XSLM qui contiendra mon dossier de synthèse "Extraction") et me ramène la ligne n°2 de la feuil1 cachée.
Et qu'elle incrément les résultats les uns en dessous des autres.
Spinzi
je cherche à ramener des infos depuis différents classeurs en 1 seul.
j'ai suivi cette procédure : http://www.info-3000.com/vbvba/syntheseplusieursclasseurs/
mais la macro me renvoie une erreur à ce niveau là :
Code:
Workbooks.Open ClasseurRegional
J'ai bien créé un dossier (ChDir), avec 2 fichiers en .xlsx à l'intérieur.
En effectuant ce test il les trouve bien :
Code:
Sub Test()
NomFichier = Dir("C:\Users\quentin.schultz\Desktop\VBA Stéphanie RH\*.xlsx") ' NomFichier = le premier fichier trouvé : disons Fribourg.xlsx
While Len(NomFichier) > 0 ' La longueur de Fribourg.xlsx est de 13 caractères, donc 13 > 0...
MsgBox NomFichier ' On affiche : Fribourg.xlsx
NomFichier = Dir ' Hop ! On lit le fichier suivant ! La variable NomFichier contient maintenant, disons, Genève.xlsx
Wend ' Comme la longueur de Genève.xlsx est > 0, on recommence, et ainsi de suite avec lausanne.xlsx et Neuchâtel.xlsx End Sub
End Sub
Pourriez vous m'aider ?
De plus, il faudra que j'aille chercher mon tableau (Used.Rang) dans une feuille masquée mais nommée toujours pareil : Est-ce que cela peut poser souci ?
Voici le code complet :
Code:
Sub Import()
ChDir "C:\Users\quentin.schultz\Desktop\VBA Stéphanie RH"
ClasseurRegional = Dir("C:\Users\quentin.schultz\Desktop\VBA Stéphanie RH\*.xlsx")
While Len(ClasseurRegional) > 0
Workbooks.Open ClasseurRegional
AvantDerniereLigne = ActiveSheet.UsedRange.Rows.Count - 1
Range("A2:B" & AvantDerniereLigne).Copy
Workbooks("Exxtraction.xlsm").Activate
DebutNomFichier = ActiveSheet.UsedRange.Rows.Count + 1
Range("B" & ActiveSheet.UsedRange.Rows.Count + 1).Select
ActiveSheet.Paste
Range("A" & DebutNomFichier & ":A" & ActiveSheet.UsedRange.Rows.Count) = ClasseurRegional
Workbooks(ClasseurRegional).Close
ClasseurRegional = Dir
Wend
End Sub
Pour résumer mon besoin :
Tous les mois je reçois des fichiers Excel. Il ne contiennent qu'une seule ligne dont j'ai besoin qui est située sur l'onglet caché "Feuil1".
Tous ces fichiers sont sauvegardés dans un dossier commun et ils ont donc tous le même chemin.
Je souhaite que la macro parcourt tous les fichiers du dossier (sauf le XSLM qui contiendra mon dossier de synthèse "Extraction") et me ramène la ligne n°2 de la feuil1 cachée.
Et qu'elle incrément les résultats les uns en dessous des autres.
Spinzi
Dernière édition: