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

XL 2019 Recherche dans les sous dossiers d'un répertoire via VBA sur excel

chaval

XLDnaute Nouveau
Bonsoir,
En pièce jointe, le fichier excel. Le code VBA ne permet pas de faire une recherche dans les sous dossiers du répertoire.
Sauriez-vous comment modifier le code pour permettre d'effectuer une recherche lors de l'utilisation de l'userform dans des sous dossiers, svp?
Je serai reconnaissante de toute aide apportée !
 

Pièces jointes

  • Ouvre PDF.xls
    60 KB · Affichages: 5
Solution
Une fonction ListBoxOK permettrait de ne pas réécrire pratiquement deux fois la même chose :
VB:
Private Sub UserForm_Initialize()
   ListBox1.ColumnCount = 2 'nombre de colonne de la listbox
   ListBox1.ColumnWidths = "200;0" 'largeur des colonnes, la 2ème = 0
   ListBoxOK "*.pdf", "C:\Users\a.chataignereau\Documents\Collègues\Commerciaux\Abdul"
   End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Cancel = Not ListBoxOK(TextBox1.Text, "C:\Users\a.chataignereau\Documents\Collègues\Commerciaux\Abdul")
   If Cancel Then TextBox1.Text = ""
   End Sub
Private Function ListBoxOK(ByVal Masque As String, ByVal Chemin As String) As Boolean
   If InStr(Masque, "*") = 0 Then Masque = "*" & Masque & "*.pdf"
   Dim FSO As...

chaval

XLDnaute Nouveau
Effectivement, excusez moi
J'ai tous les pdf du dossier qui s'affichent directement, avant même que je ne puisse faire une recherche et la recherche ne marche pas
 

Pièces jointes

  • Ouvre PDF 3.xls
    59 KB · Affichages: 1

chaval

XLDnaute Nouveau
J'ai pris un dossier tout simple avec quelques pdf et un sous dossier contenant un pdf pour que cela soit plus simple quand je travaille dessus. C'est frustrant car l'affichage des pdf est super rapide et c'est vraiment la méthode via cet affichage dans le usf qui correspond à ce que je recherche
 

Dranreb

XLDnaute Barbatruc
Oups! Je viens de voir que j'ai oublié de renommer Nom en Masque dans la Sub Fichiers
Vous devriez mettre Option Explicit en tête de vos modules. Ce genre d'erreur serait bien plus vite repéré.
 

Dranreb

XLDnaute Barbatruc
Modifiez pueut être vos option VBE Outils, Options, Général, rubrique Récupération d'erreur, cochez Arrêt dans le module de classe.
C'était l'instruction NbFich = NbFich + NbFich(Masque, SDos) où j'avais laissé Nom au lieu de Masque.
 

chaval

XLDnaute Nouveau
Ca marche!!
Le usf par contre met trop de temps à apparaître car il affiche directement la liste des fichiers pdf existants dans les dossiers et sous dossiers avant que j'effectue ma recherche.
 

Dranreb

XLDnaute Barbatruc
Si vous ne voulez pas de l'affichage initial mettez en commentaire l'instruction ListBoxOK "*.pdf", "C:\Users\a.chataignereau\Documents\Collègues\Commerciaux\Abdul" dans la Sub UserForm_Initialize.
 

Discussions similaires

Réponses
12
Affichages
658
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…