XL 2013 Consolidation de plusieurs classeurs

sr94

XLDnaute Occasionnel
Bonjour,

J'ai essayé d'utiliser le code suivant mais en vain

Code:
Sub consolide()
  ChDir ActiveWorkbook.Path
  Set classeurMaitre = ActiveWorkbook

  compteur = 1
  nf = Dir("*.xls")
  Do While nf <> ""
    If nf <> classeurMaitre.Name Then
      Workbooks.Open Filename:=nf
      With Workbooks(nf)
      For k = 1 To .Sheets.Count
        .Sheets(k).Copy After:=classeurMaitre.Sheets(classeurMaitre.Sheets.Count)
        classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = "Mapage" & compteur
        compteur = compteur + 1
        
      Next k
      .Close False
      End With
    End If
    nf = Dir
  Loop
End Sub

Je souhaite consolider en un seul classeur tous les classeurs du répertoire où se trouve le fichier avec cette macro. Tous mes fichiers ont un seul onglet, et je souhaite avoir un onglet par classeur. (par exemple 10 classeurs= 10 onglets).

Le code ci-dessus me consolide un tas de classeurs qui ne sont pas dans le répertoire de la macro, que faut-il modifier ? par ailleurs je souhaiterai que chaque onglet prenne le nom du classeur.

Merci
Sandrine
 

sr94

XLDnaute Occasionnel
Re : Consolidation de plusieurs classeurs

Bonjour,

Apparemment la macro semble prendre tous les fichiers de mes documents, au lieu du répertoire où est enregistrée la macro, comment puis je la modifier pour qu'elle prenne bien le répertoire courant ?

Merci
 

sr94

XLDnaute Occasionnel
Re : Consolidation de plusieurs classeurs

en fait la macro doit être placé dans un répertoire où se trouve les fichiers à consolider mais doit pouvoir être placée ainsi dans n'importe quel répertoire, je ne peux donc pas indiquer un chemin. La macro est donc bien placée dans le répertoire courant.
 

Pierrot93

XLDnaute Barbatruc
Re : Consolidation de plusieurs classeurs

Re,

en fait la macro doit être placé dans un répertoire où se trouve les fichiers à consolider mais doit pouvoir être placée ainsi dans n'importe quel répertoire

pas tout compris là... de toute façon2 solutions, soit il faut consolider les fichiers du répertoire où se trouve la macro, soit il faut préciser dans le code quel est le répertoire à consolider.....
 

sr94

XLDnaute Occasionnel
Re : Consolidation de plusieurs classeurs

J'ai vu une erreur similaire dans un message, du coup j'ai modifié comme suit :

Code:
Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & nf

Je ne comprends pas tout (je ne suis pas une pro du VBA), mais ça a l'air de marcher ...
 

sr94

XLDnaute Occasionnel
Re : Consolidation de plusieurs classeurs

encore un "petit" détail :

J'ai modifié le nom des feuilles ainsi :
Code:
classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = nf

pour ne pas avoir mapage1, mapage2

mes fichiers sont de la forme PARTENAIRE_19_10_15

je voudrais que mes feuilles ne prennent pas en compte la date donc il faut retirer les 9 derniers caractères ...

Il faudrait aussi que le classeur soit "saveas" le nom du répertoire.

comment paramétrer tout cela ?

Merci !
 

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 491
Membres
103 234
dernier inscrit
matteo75654548