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

Autres Tests de diverses solution pour lister dans un dialog perso des fichiers en filtrant par expression et extension

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
si il y a des âmes charitables qui voudraient bien tester ma pseudo boite de dialogue fichier avec filtre ca m'arrangerait
en fait je l'ai créée sous trois formae différente

1° la filedilogspecial1
avec un dir en ligne de commande lancée par wscript.shell(.excec) et récupérée par le stdout.readall
ce qui implique une apparition brève mais tout de même de la fenêtre dos

2° la filedilogspecial2
avec un dir en ligne de commande lancée par wscript.shell (.run)et récupérée dans un fichier text temporaire
ce qui implique que la fenêtre dos n'apparait pas puisque je hide la fenêtre

3° la filedilogspecial3
dans celle ci j'utilise un hersats de ma fonction FSOGOSUB de 2021 avec FSO

tout les argument sont optionnels
le choix du fichier se fait au double click
possibilité d'annuler

vous avez 3 module pour tester chaque version
si vous pouviez donc tester la testA4 , TestB4 , TestC4 qui sont selon moi les plus importantes
et me dire si la différence de temps d'apparition de la fenêtre avec la liste de fichier filtrée avec les arguments envoyés par les sub de testsest importante ou pas
voir même cela vous gène t il plus que ça (que la fenêtre dos apparaisse brièvement (pour la fildialoSpecial1) )?

merci aux testeurs
après moult tests dans diverses situations la version 5 et celle qui a été retenu
 

Pièces jointes

  • boite de dialog recherche de fichier V1 2 3 4 5 6.xlsm
    151.1 KB · Affichages: 1
Dernière édition:
Solution
bon après moults test dans diverses conditions pour la boites de dialog ce sera la petite dernière que j'ai un peu montré dans la vidéo
c'est pas la plus rapide mais

1° version 1 la méthode cmd Dir--> stdout readall ayant un problème de formatage et affichant la fenêtre de cmd vous l'avez compris de toute façon c'est la première a avoir été abandonnée

2° Version 2 méthode cmd dir --> fichier temporaire est acceptable mais selon l'occupation du pc elle peut varier su simple à X 7 a peu prés et elle exige forcement que au moins la destination du fichier soit autorisée pas simple sur pc pro voir même privé logué avec compte MS sur windows

3° version 3 FSO elle fonctionne très bien mais elle est plus lente que les autres mais je...

laurent950

XLDnaute Barbatruc
Re @Staple1600

Je me souviens de ce poste il y a longtemps. Il me semble que je l'avais adapté avec un module de classe et des variables tableaux pour boucler sur un lecteur et récupérer l'intégralité de tous les fichiers.

Le principe n'était pas mauvais et c'était quasi instantané à l'époque, mais j'avais pas mal adapté le principe.

Voici la page :
https://excel.developpez.com/faq/?page=FichiersDir
Et le titre, c'est celui-ci de mémoire que j'ai adapté.


À suivre pour mémoire, mais partons sur le principe de @patricktoulon.

Merci @Staple1600 pour tes réponses.
 

Staple1600

XLDnaute Barbatruc
Re

• Pour revenir au test
=> FilDialogSepcial2
Un dossier avec un seul classeur
(nommé test123.xlsx)
Je saisis test dans le TextBox idoine
Le fichier est bien listé dans ListBox1

Je saisis xlsx dans le TextBox idoine
Le fichier n'est pas listé dans ListBox1 et le message cité dans le message#14 s'affiche.
Et me donne une info erronée (puisque il existe bien un classeur avec l'extension xlsx)
 

Staple1600

XLDnaute Barbatruc
Re

Suite de la suite
J'ai rajouté une ligne dans go_Click
Enrichi (BBcode):
If TxtbExtension <> "" Then
        If TxtbExtension Like "[!A-Za-z0-9]*" Then MsgBox "Extension non valide": Exit Sub
        If Len(TxtbExtension) > 4 Then MsgBox "Extension non valide": Exit Sub
        Extension = "*." & TxtbExtension
        Else: Extension = "*.*"
    End If
Sinon si mon doigt dérape et saisit par exemple : extension dans le Textbox idoine
(cela peut arriver à la 25ième heure d'une nuit sans lune )
J'aurais ce joli message
 

patricktoulon

XLDnaute Barbatruc
re
non staple1600 j'aurais du l'enlevé mais valtrase n'a rien a voir dans ce truc si ce n'est que pour le stdout.readall la version 1 qui reprend le string de la ligne de commande
le reste c'est mes propres trucs
c'est bien pour ça que je demande des tests car si le stdout.readll présente des avantages il présente aussi des inconvénients
quand a ma version dans fichier temporaire elle présente un autre problème a savoir le fichier visiblement est créé en utf-8 ce qui me donne des caractères bizarres a la lecture avec open for input ( je ne l'avais pas vu ça )

quand a la FSO ca c'est ma petite astuce( un dir global pour zaper(ou pas) la bouche files)
dudu2 et moi avons travaillé sur cette question(accélérer une recherche de fichier avec ce gros lourdaud de FSO) et nous avions tout deux sorti deux version un peu différente mais fonctionnelles
bon maintenant j'ai cru comprendre qu'il y avait des gestions d'erreur à faire
comment avez vous déclenché ses erreurs?

soyez bref et concis par ce que tout le monde en même temps c'est pas top
 

Staple1600

XLDnaute Barbatruc
Re

@patricktoulon
Tu as demandé des tests, non?
J'en ai fait plusieurs. (et signalé des erreurs avec des copies d'écran en bonus)
D'autres XLDiens en ont fait également.

Donc tu as de quoi de faire

soyez bref et concis
Ce genre d'apostrophe, je les entends d'une oreille quand je suis au boulot.
or XLD ce n'est pas le boulot.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
je répond à @sylvanu
en effet chez moi aussi contrairement à ce que l'on aurait pu croire c'est bien le dir en ligne de commande vers un fichier temporaire qui est plus rapide

la 3 ca dépend en fait de ta recherche plus ta recherche est precises plus c'est rapide
si tu met pas d'argument en effet tu passe toute les boucle en entier (folder et files)
et on sait tous que FSO est lourd

cette boite de dialogue et vouée a afficher une selection de fichier filtrer par la présence d'une chaine et ou extension particulière

donc pour conclure pour toi c'est comme chez moi c'est la 2

qu'en est il pour les autres ?
 

patricktoulon

XLDnaute Barbatruc
nouveau avec correctif
maintenant les 3 me ramènent la même chose
testez la test3A4 , testB4, testC4

changez bien évidemment le dossier parent en argument bien sur

ou testez directement l'interface en le lançant par la test.1 de chaque version et en modifiant les paramètres dans les textbox idoine
 

Pièces jointes

  • boite de dialog recherche de fichier with part of name and or extension.xlsm
    58.1 KB · Affichages: 4
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…