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

[Résolu]Problème Fonction Dir

  • Initiateur de la discussion Initiateur de la discussion florenllf
  • 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 !

florenllf

XLDnaute Junior
Bonjour,
Je souhaite afficher dans une liste(suivant critères) les fichiers présents dans le même répertoire que mon fichier.
Mon code fonctionne jusqu'à ce que je ferme mon fichier puis le ré-ouvre et là...plus rien ne marche.
Je ne sais pas d'où cela vient, surement de ceci:

Code:
ChDir ActiveWorkbook.Path
conso_fichiers = Dir("A-*-B.xls")

J'ai ceci dans un module:
Code:
Sub consolidation()
'On récupère le chemin du fichier actuel
chemin = ActiveWorkbook.Path
'Le chemin devient le chemin par défaut pour la suite de la procèdure
ChDir chemin

'Affiche la fenetre
UserForm1.Show
End Sub

Et dans ma userform:

Code:
Private Sub UserForm_Activate()

Dim conso_fichiers As String


' On définit la règle de recherche
ChDir ActiveWorkbook.Path
conso_fichiers = Dir("A-*-B.xls")

MsgBox conso_fichiers

'conso_form: nom de la userform; liste: nom de la "boite à liste" (listbox)
With UserForm1.liste
    'initialise la liste de la boite de dialogue avec le 1° fichier
    .AddItem (conso_fichiers)
    
    'parcourt le répertoire
    'tant qu'il reste encore un fichier anne-xxxx -xxxx.xls
    While conso_fichiers <> ""
        'affecte à conso le fichier suivant (utilisation du joker " * " utilisé pour la def du 1° fichier)
        conso_fichiers = Dir
        'initialise la liste dans la boite de dialogue avec le fichier suivant
        .AddItem (conso_fichiers)
    Wend
    
End With
End Sub

Merci de votre aide.
 
Dernière édition:
Re : Problème Fonction Dir

Bonjour,

ton code semble bien fonctionner chez moi... mais attention tout de même au "chdir" par rapport au classeur actif qui n'entraîne pas forcément le changement de lecteur... voir du coté de "chdrive". On pourrait raccourcir un peu ton code ainsi :
dans "module1" :
Code:
Sub consolidation()
UserForm1.Show
End Sub
dans le module de l'usf :
Code:
Private Sub UserForm_Activate()
Dim r As String, f As String
r = ActiveWorkbook.Path & "\"
f = Dir(r & "A-*-B.xls")
Do While f <> ""
    liste.AddItem (f)
    f = Dir
Loop
End Sub

Et désolé pour le retard, mais j'avais zappé ta réponse....

bonne journée
@
 
- 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

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
503
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
418
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…