vba - macro - commencement

  • Initiateur de la discussion tomatrouge
  • Date de début
T

tomatrouge

Guest
Bonjour!
J'explique mon problème:
J'ai un dossier qui contient des sous-dossiers qui eux mêmes contiennent des sous-dossiers!!Dans ces sous-dossiers de sous-dossiers j'ai des fichiers excels!
Ce que je cherche à faire, c'est une macro qui va me chercher tous les fichiers excels des dossiers et qui les range dans un seul fichier excel!
Le problème est que je ne sais pas par où commencer!!!
si quelqu'un pouvait me donner un petit coup de pouce pour démarrer!!!

merci d'avance!

tomatrouge
 

Abel

XLDnaute Accro
Bonjour tomatrouge,

Qu'entends tu par 'ranger tous les fichiers dans un seul' ?

Y a t'il plusieurs onglets dans chacun de ces fichiers ?

Veux tu copier les contenus de chacun de ces fichiers les uns à la suite des autres pour chaque onglet ?

Veux tu ranger tous ces fichiers dans un seul et même répertoire ?

Abel.
 
T

tomatrouge

Guest
bonjour Abel
Dans chaque fichier il n'y a qu'un seul onglet!
Ce que je cherche à faire c'est mettre à la suite tous les contenus des sous-sous-dossier et mettre un onglet pour chaque sous-dossier!!

schéma:
dossier
|->sous-dossier1
|->sous-sous-dossier11
|->fic111
|->fic112
|->sous-sous-dossier12
|->fic121
|->sous-sous-dossier13
|->sou-dossier2
|->sous-sous-dossier21

Il n'y a pas de fichiers excels dans les sous-dossier!
seulement dans les sous-sous-dossiers

Ce que je cherche à avoir c'est un fichier avec les fichiers excels du sous-sous-dossiers1 copiés les uns à la suite des autres et pour chaques sous-dossiers un onglets différents!!!

J'espére avoir été assez clair dans mes explications!!!
 
T

tomatrouge

Guest
est ce que ca ca peut marcher?

For Each sous-dossier In Dossier
For Each sous-sous-dossier In sous-dossier
For Each classeur In sous-sous-dossier
|
|
Next
Next
Next

avec du blabla entre les for each!!!
 
T

tomatrouge

Guest
Voila l'arborescence pour ceux qui n'aurez pas bien piger mon schéma du dessus!!!!;)

Mon executable est dans le dossier racine et mes fichiers dans les sous-dossiers Air, Eaux, Déchets, ...

Merci [file name=arbo.zip size=21821]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/arbo.zip[/file]
 

Pièces jointes

  • arbo.zip
    21.3 KB · Affichages: 14

Hervé

XLDnaute Barbatruc
Bonjour

Si tu n'a pas de réponse, c'est peut etre parce que l'on à pas compris ta question. Mais comme on n'a pas l'habitude sur le forum de laisser les questions sans réponse....

Bon ben , je crois que je suis parti pour un joli zop, moi :)

Préparez-vous les gars, c'est ma tournée de duvel.

Code:
Sub Bouton1_QuandClic()
Dim rep As Variant
Dim dossier As Variant
Dim chemin As String, chemin2 As String, fichier As String
Dim k As Byte, i As Byte, x As Byte
x = 1
Dim tableau()

rep = Array('ATEE', 'CPGE')
dossier = Array('air', 'bruit', 'déchets', 'eau', 'emission d'odeur', 'energie', _
        'integration paysagere', 'rejet eaux pluviales', 'ressource en eau', 'sol')

For i = 0 To UBound(rep)
    chemin = 'c:\\tomato\\' & rep(i) '<=====a adapter
    For k = 0 To UBound(dossier)
        Sheets.Add.Name = rep(i) & '-' & dossier(k)
        chemin2 = chemin & '\\' & dossier(k) & '\\*.xls'
        fichier = Dir(chemin2)
        While fichier <> ''
            ReDim Preserve tableau(1 To x)
            tableau(x) = chemin & '\\' & dossier(k) & '\\' & fichier
            x = x + 1
            fichier = Dir
        Wend
    Next k
Next i

For i = 1 To UBound(tableau, 1)
Sheets('feuil1').Range('a' & i) = tableau(i)
Next i
End Sub

Ce long code, va te créer autant d'onglets que de sous répertoire et lister dans la feuille 1 les chemins complets des fichiers trouvés dans les sous dossiers.

En espérant que ceci te donnera une base de travaille.

Je suis passer par des array (rep et dossier), pour te simplifier la vie, mais je suis pas sur que le résultat soit atteint.

en somme il te faut, pour copier les données des fichiers, de scanner le tableau(tableau), d'ouvir chaque fichier et de copier les données sur le bon onglet

Salut
 

Discussions similaires

Réponses
9
Affichages
289

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 172
dernier inscrit
Aurelyan