Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2007, 11h24   #1
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 226
Points : 39
Points : 39
Par défaut VBA trouver un fichier dans un repertoire

Bonjour,
je voudrais savoir comment je peux trouver un fichier donc les caracteres correspondent a ce que j'ai entrer préalablement dans un formulaire afin d'utiliser le fichier correspondant. Suisje assez clair??
Merci d'avance
darkspoilt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2007, 00h53   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Regarde , le premier exemple. Tu ajoutes un test ici
Code :
1
2
3
4
5
6
        If fso.GetExtensionName(Wk) = "xls" Then 
           if lcase(Wk) = lcase(LeNomQueTuVeux) then
                Workbooks.Open Filename:=Wk
                DoEvents 'Laisse le temps au système d'ouvrir le fichier
           endif
        endif
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 08h05   #3
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
tu peux aussi tout simplement utiliser la fonction Dir(Path)

pour savoir s'il existe ou pas, il suffit de tester si Dir renvoie "" ou pas (merci F1 )
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 10h27   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
J'ai relu ta question et je corrige mon code.
Citation:
Envoyé par Tu
je voudrais savoir comment je peux trouver un fichier donc les caracteres correspondent a ce que j'ai entrer préalablement dans un formulaire
Si ce que tu as saisi est le nom du fichier, le code fourni par Maxence HUBICHE suffit. Mais si ce n'est qu'une partie du nom du fichier que tu as "entré", tu peux essayer de modifier ma réponse précédente comme suit
Code :
1
2
3
4
5
6
        If fso.GetExtensionName(Wk) = "xls" Then 
           if instr(lcase(Wk), lcase(LeNomQueTuVeux))<> 0 then
                Workbooks.Open Filename:=Wk
                DoEvents
           endif
        endif
A+
PS - Comment "entres-tu" ces caractères ?
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 11h06   #5
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
dans la solution que j'ai indiqué, l'usage d'un nom partiel fonctionne également, puisque l'aide indique qu'on peut utiliser les caractères générique, tels l'étoile (*) ...

Donc, on peut faire

Code :
1
2
 
s=dir(myPath & "*.xls")
qui renverra tous les fichier xls du chemin myPath

L'avantage de Dir, c'est qu'il sert uniquement à cela, et qu'il est dans la bibliothèque VBA (donc obligatoirement présent) et donc, il devient inutile de référenceer les fso en plus.

vàlà vàlà
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h26.


 
 
 
 
Partenaires

Hébergement Web