Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compter le nombre de repertoire correspondant aux criteres

  • Initiateur de la discussion Initiateur de la discussion man95
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…