' 0) On vérifie l'année pour le répertoire : ' Dim Dj As Date, dateref As Date, ané As Integer Dim Fournisseur() As String Dim objFileSystem , objDoss ,objFich Dj = Date ané = Year(Dj) dateref = DateSerial(Year(Date), 6, 30) If (Dj > dateref) Then Année = ané & "_" & ané + 1 ElseIf (Dj < dateref) Then Année = ané - 1 & "_" & ané End If ' 1) on crée le dossier dans toutes les cas (et s'il existe déjà, on gère) : ' On Error Resume Next MkDir "C:\Historique" & Année & "" On Error GoTo 0 ' 2) On regarde si le répertoire est vide : ' If Dir("C:\Historique" & Année & "") = "" Then MsgBox " Vous n'avez pas encore passer de commande cette année . " MsgBox " Voulez vous voir le(s) contract(s) en cour ? ", vbYesNo + vbInformation ' 3) On regarde les fichier qu'il contient est on l'affiche : ' ElseIf Dir("C:\Historique" & Année & "") <> "" Then [b] Set objFileSystem = CreateObject("Scripting.FileSystemObject") Set objDoss = objFileSystem.GetFolder("C:\Historique" & Année & "") If (objDoss.Files.Count > 0) Then For Each objFich In objDoss.Files If (InStr(1, objFich.Name, ".xls", 1) > 0) Then 'que les fichiers xls Fournisseur.AddItem (objFich.Name) End If Next/b End If End If
Fournisseur.AddItem (objFich.Name)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionsur Dir et aussi le mot récursif, entre autres
Fichier = Dir(Chemin, vbDirectory + vbArchive) 'recherche répertoires et fichiers archivés(non cachés ou système) Do While Fichier <> "" If Left(Fichier, 1) <> "." Then 'ne rien faire avec "." et ".." 'le code nécessaire End If Fichier = Dir 'passe au suivant Loop