Compter le nombre de repertoire correspondant aux criteres

man95

XLDnaute Occasionnel
Bonsoir le forum,

je viens une nouvelle fois vers vous car je sais qu'âme charitable sera me renseigner ou au moins m'orienter.

Voici mon besoin:

Dans un répertoire particulier, disons c:\essai\jour\ se trouve une multitude de répertoires qui ont tous le format:
31_10_12
01_11_12
02_11_12
03_11_12
30_11_12
etc...

mais il y a aussi des anciens répertoires..
31_10_11
01_11_11
02_11_11
03_11_11
30_11_11

2010, 2009, etc...

Dans mon classeur "toto.xls", feuille "travail" j'ai une information:

F13 = mois que j'observe dans l'exemple sera "11" pour novembre
H13 = mois que j'observe dans l'exemple sera "12" pour l'année

je voudrais simplement (pour vous !) savoir combien de répertoire(s) correspond(ent) aux critères et les sommer

Je ne suis pas très certain d'avoir été assez clair, dans ce cas, n'hésitez pas à me le dire


Dans l'attente de vous répondre.


Man
 

Yaloo

XLDnaute Barbatruc
Re : Compter le nombre de repertoire correspondant aux criteres

Bonsoir Man,

Voila une piste pour chercher les sous-répertoire, tiré de l'aide de VBA avec la fonction Dir.

Code à adapter

VB:
Sub Cherche_Repertoire()
MyPath = "c:\"    ' Définit le chemin d'accès.
MyName = Dir(MyPath, vbDirectory)    ' Extrait la première entrée.
Do While MyName <> ""    ' Commence la boucle.
    ' Ignore le dossier courant et le dossier
    ' contenant le dossier courant.
    If MyName <> "." And MyName <> ".." Then
        ' Utilise une comparaison au niveau du bit pour
        ' vérifier que MyName est un dossier.
        If (GetAttr(MyPath & MyName) _
            And vbDirectory) = vbDirectory Then
            Debug.Print MyName    ' Affiche l'entrée uniquement si elle
        End If    ' représente un dossier.
    End If
    MyName = Dir    ' Extrait l'entrée suivante.
Loop
End Sub

A+

Martial
 

Yaloo

XLDnaute Barbatruc
Re : Compter le nombre de repertoire correspondant aux criteres

Re,

Voici une macro qui doit répondre à ta demande :

VB:
Sub Cherche_Repertoire()
MyPath = "c:\Essai\"    ' Définit le chemin d'accès. A changer évidemment
MyName = Dir(MyPath, vbDirectory)    ' Extrait la première entrée.
Do While MyName <> ""    ' Commence la boucle.
    ' Ignore le dossier courant et le dossier
    ' contenant le dossier courant.
    If MyName <> "." And MyName <> ".." Then
        ' Utilise une comparaison au niveau du bit pour
        ' vérifier que MyName est un dossier.
        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
            If Split(MyName, "_")(1) Like [F13] And Split(MyName, "_")(2) Like [G13] Then x = x + 1
        End If    ' représente un dossier.
    End If
    MyName = Dir    ' Extrait l'entrée suivante.
Loop
MsgBox x
End Sub

A te relire

Martial
 

Pièces jointes

  • Man95.xlsm
    16 KB · Affichages: 33

man95

XLDnaute Occasionnel
Re : Compter le nombre de repertoire correspondant aux criteres

Bonjour Martial, le forum

Merci beaucoup, je viens de tester ta solution et elle fonctionne à merveille. je viens de l'adapter à mon besoin sans problème.

Encore merci et bravo !

Man
 

Statistiques des forums

Discussions
312 329
Messages
2 087 333
Membres
103 519
dernier inscrit
Thomas_grc11