Créer un tableau de synthèse de plusieurs classeurs Excel
Bonjour,
Tout d'abord je vous présente mes meilleurs vœux pour cette nouvelle année!
Je m'excuse par avance si un sujet similaire a déjà été traité, je ne l'ai pas trouvé si tel est le cas. Je précise aussi que je suis débutante en langage VBA... J'avance petit à petit dans la mise en place des macros.
Je dois créer pour ma société un tableau de suivi de nos besoins en intérimaires. Ce tableau sera rempli et exploité par tous les services de l'entreprise. A ce jour j'ai créé un dossier contenant 9 fichiers: un fichier Excel pour chacun des services (Ce fichier est identique pour chaque service) et un fichier "Recap" qui reprendra les données nécessaires à envoyer aux agences d'intérims.
C'est la que ça coince. En effet, j'ai réussit à reformuler une macro à partir d'un tuto explicatif: http://www.info-3000.com/vbvba/syntheseplusieursclasseurs/index.php
[b]
Ma macro:[/b]
Sub CreationSynthese()
' Parcours de tous les fichiers
' -----------------------------
ChDir "G:\Intérims151215\Lesieur"
ClasseurRegional = Dir("G:\Intérims151215\Lesieur\*.xlsx")
While Len(ClasseurRegional) > 0
Workbooks.Open ClasseurRegional
AvantDerniereLigne = ActiveSheet.UsedRange.Rows.Count - 1
Range("A2:CM" & AvantDerniereLigne).Copy
Workbooks("Recap.xlsm").Activate
DebutNomFichier = ActiveSheet.UsedRange.Rows.Count + 1
Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
ActiveSheet.Paste
Workbooks(ClasseurRegional).Close
ClasseurRegional = Dir
Wend
End Sub
Ma macro fonctionne, les données sont bien collées dans le fichier Recap sauf qu'elles ne se collent pas à partir de A2 mais bien en dessous. Au plus on lance la macro, au plus le collage descend en ligne. Je ne sais pas si je suis très claire... J'ai l'impression que c'est cette formule qui va en +1 qui bloque: Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select mais je ne sais pas comment spécifier de toujours coller en A2. Quelqu'un pourrait-il m'aider?
En outre cette macro copie-colle toutes les colonnes de chaque fichier or je ne voudrais en sélectionner que certaines: C:N, P et Y:AA
Comment puis-je intégrer cela dans la macro?
Vous remerciant par avance pour votre aide,
Cécilia
Personne ne peut m'aider???
Bonjour,
J'ai la même base et voila ce que j'ai trouvé pour répondre à ce problème.
ChDir "W:\FGR\FIC\PUBLIC\Planifier_Livrer\T00_Public\VEX\2016\Extraction\MAG PF"
Classeurlocal = Dir("W:\FGR\FIC\PUBLIC\Planifier_Livrer\T00_Public\VEX\2016\Extraction\MAG PF\*.XLS")
While Len(Classeurlocal) > 0
Workbooks.Open Classeurlocal
'Extraction de la colonne article
DerniereLigne = ActiveSheet.UsedRange.Rows.Count
Range("B4:B" & DerniereLigne).Copy
Workbooks("Suivi_Magasin_0003 2016.xlsm").Activate
'Le début est propre à mon code, ci dessous voici les 3 lignes à modifier.
Range("A" & Rows.Count).End(xlUp).Select 'selectionne la première ligne pleine
Selection.Offset(1, 0).Select ' décalage de un vers le bas.
ActiveSheet.Paste
Cordialement,
Laurent
Merci pour votre réponse. Je me suis aperçue que j'avais ce problème lorsque je lançais la macro plusieurs fois de suite, apparemment c'est juste un problème de suppression de lignes que je devais mal effectuer...