arbo depuis combos (Résolu)

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

misteryann

XLDnaute Occasionnel
Bonjour au EXCELlents forumeurs.
J'ai remis mon costume de scénariste et je cherche un réalisateur.
Voilà le truc:
J'ai une USF avec 3 combos
La première choisi le dossier du répertoire dans lequel se trouve mon fichier Excel;
La deuxième choisi le sous dossier;
La troisième donne les fichiers du sous répertoire;
Le bouton ouvrir doit ouvrir le fichier pdf correspondant.

Bien sûr le nombre de dossiers, sous dossiers et fichier est évolutif, sinon ce ne serai pas marrant.

J'espère que je suis assez compréhensible... le fichier joint pour voir ce que je souhaite...

Merci à celles et ceux qui vont se pencher dessus.
Cordialement
 

Pièces jointes

Dernière édition:
Re : ouverture d'un pdf après choix dans 3 combo

Bonjour.

Bon, ben puisque vous tenez à refaire ce que GetOpenFilename fait déjà bien mieux…
Ajoutez un Label nommé LabInfo.
VB:
Option Explicit

Private Sub UserForm_Initialize()
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path
ChDir ".."
LabInfo = CurDir
SousDossiers
End Sub

Sub SousDossiers()
Dim Doss As String
Me.ComboBox1.Clear
On Error Resume Next
If Len(CurDir) > 3 Then Me.ComboBox1.AddItem "(racine)"
Doss = Dir("*", vbDirectory)
Do While Doss <> ""
   If GetAttr(Doss) And vbDirectory Then If Left$(Doss, 1) <> "." Then Me.ComboBox1.AddItem Doss
   Doss = Dir: Loop
End Sub

Private Sub ComboBox1_Change()
Dim NomFic As String
If ComboBox1.ListIndex = -1 Then Exit Sub
ChDir IIf(ComboBox1.Text = "(racine)", "..", ComboBox1.Text)
Me.ComboBox2.Clear
NomFic = Dir("*.pdf")
Do While NomFic <> ""
   Me.ComboBox2.AddItem NomFic
   NomFic = Dir: Loop
SousDossiers
LabInfo = CurDir
End Sub
 
Re : ouverture d'un pdf après choix dans 3 combo

Merci Bernard.
Que dois-je changer pour que la cb 1 n' affiche que les répertoires ou se trouve le fichier xl et pas l'ensemble des répertoire de la clef?
Comme cela pas besoin de sélectionner 2 fois la cb 1
Je suis exigeant, je sais...
Mais ce serait la cerise sur le gâteau...

Merci pour votre aide plus que précieuse.
 
Dernière édition:
Re : ouverture d'un pdf après choix dans 3 combo

Mettre en commentaire l'instruction ChDir ".." je suppose. C'est vous qui l'aviez mise remarquez.
Vous pouvez aussi l'écrire comme ça :
VB:
Option Explicit

Private Sub UserForm_Initialize()
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path
'ChDir ".."
LabInfo = CurDir
SousDossiersEtFichiersPDF
End Sub

Sub SousDossiersEtFichiersPDF()
Dim Doss As String, NomFic As String
Me.ComboBox1.Clear
On Error Resume Next
If Len(CurDir) > 3 Then Me.ComboBox1.AddItem "(racine)"
Doss = Dir("*", vbDirectory)
Do While Doss <> ""
   If GetAttr(Doss) And vbDirectory Then If Left$(Doss, 1) <> "." Then Me.ComboBox1.AddItem Doss
   Doss = Dir: Loop
Me.ComboBox2.Clear
NomFic = Dir("*.pdf")
Do While NomFic <> ""
   Me.ComboBox2.AddItem NomFic
   NomFic = Dir: Loop
Select Case Me.ComboBox2.ListCount
   Case 0: LabInfo = CurDir & vbLf & "Ne contient aucun fichier PDF."
   Case 1: LabInfo = CurDir & vbLf & "Contient un seul fichier PDF."
   Case Else: LabInfo = CurDir & vbLf & "Contient " & Me.ComboBox2.ListCount & " fichiers PDF."
   End Select
LabInfo.BackColor = IIf(Me.ComboBox2.ListCount > 0, &H98FFC8, &HEDCBFF)
End Sub

Private Sub ComboBox1_Change()
Dim NomFic As String
If ComboBox1.ListIndex = -1 Then Exit Sub
ChDir IIf(ComboBox1.Text = "(racine)", "..", ComboBox1.Text)
SousDossiersEtFichiersPDF
End Sub
 
Re : ouverture d'un pdf après choix dans 3 combo

Ben c'est tout simplement génial...
EXACTEMENT ce qu'il faut.
Trop fort, cela va me permettre de continuer à développer mon fichier.

Un Grand Grand Merci.

Bonne journée.

Trop content là!!
 
- 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
Retour