Dossiers, Sous Dossiers, Fichiers

Orodreth

XLDnaute Impliqué
Bonjour à tous.

Dans l'entreprise où je bosse, il a été demandé à un stagiaire de créer une série de tableau excel via mes applications.
Malheureusement, les séries qu'il a créées ne sont pas toutes complêtes, et on m'a demandé de mettre en place un applicatif pour vérifier l'exhaustivité de ces séries.

Les séries en question portent sur des statistiques de ventes quotidiennes, dont les fichiers sont hiérarchisés de la façon suivante:
-> Dossier Source où se trouvent l'ensemble des archives ("Ca_Quotidien" est le nom de ce dossier)
--> Dossier Année (2006, 2007, 2008, ...)
---> Dossier Mois (01, 02, 03, ... , 12)
----> Fichier Excel des jours (par exemple, pour le mois de mars 2007: 20070301, 20070302, 20070303, ..., 20070331)

Dans le dossier parent du dossier source, j'ai un fichier excel qui doit me permettre de faire mes vérifications de liste.
Le fichier se lance, compte le nombre de sous dossier dans le dossier "Ca_Quotidien", puis, pour chaque dossier année, il compte le nombre de dossier de mois. Et ainsi de suite jusqu'à produire les listes des jours sur les tables excel correspondantes.

Le fichier excel en lui-même est constitué comme-suit:
- Une feuille vierge "ModeleBase" qui me sert de modèle à copier.
Cette feuille est ensuite copiée, puis renommée avec l'année en cours de traitement.
Les mois sont affichés en colonne, et il faudrait que j'affiche les noms des fichiers excel contenus dans les dossier de mois dans la colonne correspondante (une colonne = 1 mois = 1 dossier)

Bon, je crois avoir assez parlé, je commence à me perdre dans mon code, je n'arrive plus à avancer, et si quelqu'un peut m'aider je lui en serai grandement reconnaissant :)

Ci-joint un fichier zip de ma hiérarchisation des dossiers avec mon classeur vierge et mon début de code.

Merci d'avance,
Thomas
 

Pièces jointes

  • Verif de stats.zip
    13.6 KB · Affichages: 58
  • Verif de stats.zip
    13.6 KB · Affichages: 58
  • Verif de stats.zip
    13.6 KB · Affichages: 58

bqtr

XLDnaute Accro
Re : Dossiers, Sous Dossiers, Fichiers

Bonsoir Orodreth, le forum

Un exemple en PJ :
Décompresse la PJ et Fait Alt + F8 dans le fichier Verif Statistiques, et lance la macro CopiFichier.

Une boite s'ouvre, indique le nom du réperoitre. (dans l'exemple seul le dossier 2006 contient des fichiers dans ses sous-dossiers).

La macro copie la feuille modèle et recherche dans chaque sous-dossier les fichiers excel et les place dans la colonne adéquate.

Bon test
 

Pièces jointes

  • Verif de stats.zip
    30.7 KB · Affichages: 86
  • Verif de stats.zip
    30.7 KB · Affichages: 85
  • Verif de stats.zip
    30.7 KB · Affichages: 85

kiki29

XLDnaute Barbatruc
Re : Dossiers, Sous Dossiers, Fichiers

Soir Bon
Une version de plus ...
Cliquer sur Liste Fichiers et normalement tout se crée, en tenant compte de l'existant
 

Pièces jointes

  • VeriStats.zip
    40.9 KB · Affichages: 106
Dernière édition:

Orodreth

XLDnaute Impliqué
Re : Dossiers, Sous Dossiers, Fichiers

Bonjour Bqtr, Kiki29, le fil, le forum.

J'ai testé les deux méthodes.
Bqtr, ta méthode marche, mais le fait de devoir spécifier le sous-dossier est contraignant, et c'est lent.
Celle de Kiki me convient parfaitement, plus qu'à bien étudier le code pour le comprendre et l'adapter.
Edit: Sauf que lorsque je recopie ton code dans mon propre classeur, VBA me dit que ce type "Dim FSO As Scripting.FileSystemObject" n'est pas défini. Tu peux m'aider Kiki ?

J'enchaine avec une question qui a un rapport direct:
Est-ce que quelqu'un connait une astuce pour tester la fin du mois de Février (28 ou 29) en VBA sans passer par un datetimepicker ? je ne compte pas passer par des écrans pour ce petit programme.

Merci beaucoup à tous les deux pour vos réponses qui marchent super bien.
Et merci d'avance à tous pour ma deuxième question
Thomas
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : Dossiers, Sous Dossiers, Fichiers

Code:
Function AnneeBissextile(ByVal Annee As Integer) As Boolean
    If (Annee Mod 400 = 0) Or (Annee Mod 4 = 0 And (Not Annee Mod 100 = 0)) Then
        AnneeBissextile = True
    Else
        AnneeBissextile = False
    End If
End Function
 

Discussions similaires

Réponses
9
Affichages
272

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami