Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
902 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide fonction Dir (VBA)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide fonction Dir (VBA)

n°1345938
leon_69
Posté le 13-04-2006 à 12:23:05  profilanswer
 

Bonjour  :)
 
Je travail sur VBA et Excel
J'aimerais fabriquer un masque 'de saisie' avec un nombre précis de caractere pour la fonction Dir :  
 
En effet,  
--------------
dir ("C:\*.xls" )
--------------
me fourni les fichiers Excels se trouvant dans le repertoire "C:"
 
mais je cherche seulement les fichiers ayant pour nom :
"xxx_xxxx_xx_xxx.xls"  (ou x peut etre n'importe quel caractere)
exemples : "156_dagd_01_ger.xls"
               "748_frte_24_tyu.xls"
 
ma seule solution est pour l'instant :
---------------------
dir ("C:\*_*_*_*.xls" )
---------------------
 
mais je ne suis pas satisfait a 100% ...  :kaola:  
 
et je cherche plutot un truc du style :  
---------------------------
dir ("C:\???_$$_??_$$$.xls" )
---------------------------
ou ? remplacerai 1 chiffre, $ remplacerai une lettre, etc ...  (comme en batch)
 
quelqu'un saurait comment fabriquer mon masque 'de saisie' ( ce n'est pas vraiment un masque de saisie, mais bon .. ), quelles sont les caracteres à inscrire, svp ?  
 
Dans l'espoir d'avoir assez detaillé mon probleme, je vous adresse, messieurs et dames, mes salutations distinguées    :p  
 

mood
Publicité
Posté le 13-04-2006 à 12:23:05  profilanswer
 

n°1345939
leon_69
Posté le 13-04-2006 à 12:24:18  profilanswer
 

désolé, les " )   sont en fait " )

n°1345964
olivthill
Posté le 13-04-2006 à 12:56:29  profilanswer
 

 

fic = Dir("C:\*.xls" )
Do
   MsgBox (fic)
   If ((Left(fic, 1) > "1" And Left(fic, 1) < "9" ) _
       And (Mid(fic, 2, 1) > "1" And Mid(fic, 2, 1) < "9" ) _
       And (Mid(fic, 3, 1) > "1" And Mid(fic, 3, 1) < "9" ) _
       And (Mid(fic, 4, 1) = "_" ) _
       And (Mid(fic, 5, 1) > "A" And Mid(fic, 5, 1) < "z" ) _
       And (Mid(fic, 6, 1) > "A" And Mid(fic, 6, 1) < "z" ) _
       And (Mid(fic, 7, 1) = "_" ) _
       And (Mid(fic, 8, 1) > "1" And Mid(fic, 8, 1) < "9" ) _
       And (Mid(fic, 9, 1) > "1" And Mid(fic, 9, 1) < "9" ) _
       And (Mid(fic, 10, 1) = "_" ) _
       And (Mid(fic, 11, 1) > "A" And Mid(fic, 11, 1) < "z" ) _
       And (Mid(fic, 12, 1) > "A" And Mid(fic, 12, 1) < "z" ) _
       And (Mid(fic, 13, 1) > "A" And Mid(fic, 13, 1) < "z" )) Then
       ' On a trouvé, on sort de la boucle
     Exit Do
   End If
   a = Dir 'suivant
Loop
MsgBox (fic)


n°1345970
tegu
Posté le 13-04-2006 à 13:04:59  profilanswer
 

La fonction Dir n'accepte que deux caractères « joker » qui sont ? et *

n°1346109
leon_69
Posté le 13-04-2006 à 14:59:45  profilanswer
 

lol oui merci pour ta reponse olivthill   :)    
c'est une solution interressante, et sur à 100 %, mais je ne peux prévoir les lettres qu'il y aura dans les nom de 200 fichiers différents  :)
c'est de ma faute, c'est moi qui avais pas précisé le nombre de fichiers
en tout cas merci pour ta reponse rapide, je pourrai peut etre l'utiliser dans un autre cas  
 
et merci tegu pour cette précision  :)
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide fonction Dir (VBA)

 

Sujets relatifs
[VBA] [Excel] Chercher la première ligne après un graphiqueOutil aide MVC
La fonction header se comportant bizarrement[VBA] Fonction qui ne retourne rien. Possible ?
Préremplir un email avec la fonction mailto:programmation socket. fonction accept() retourne 0
Sous VBA Fermeture du classeurAppel d'une macro en code VBA
Fonction HTML to BMP gratuite ? Convertir une page Web en image... 
Plus de sujets relatifs à : Aide fonction Dir (VBA)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR