Recherche d'un fichier à nom variable - VBA 2010

Thibaut.DT

XLDnaute Nouveau
Bonjour à tous,

Je me permets de poster un petit message car je dois coder pas mal de chose en VBA mais je ne suis qu'un débutant... C'est la que vous intervenez les mecs (ou les filles) !!

Voici mon problème :
Je souhaiterais, à l'aide de vba, pouvoir ouvrir un fichier dont je n'ai qu'une partie du nom mais dont je connais le chemin dans mon ordinateur. Plus précisément tous les jours je créé un fichier ayant comme nom la date du jour, écris de la manière suivante : "mmdd" qui est lui même rangé dans un dossier portant le nom de l'année en cours (à savoir 2015 dans le cas présent). Le chemin du dossier d'aujourd'hui serait donc "C:\Thibaut\2015\0216" et le fichier que je cherche à ouvrir se range dans ce dossier.

Prenons un exemple :
Supposons que j'ai les 4 fichiers suivants rangés dans le dossier 0216:
- Temps_Paris_Course1.xls
- Temps_Lyon_Course1.xls
- Temps_Bordeaux_Course1.xls
- Temps_Avignon_Course1.xls

Je voudrais lui demander d'ouvrir le fichier comportant le mot "Paris" car ces fichiers me sont envoyés et parfois le nom diffère (ex: Paris_TempsCourse.xls).

Voici ce que j'ai fait pour l'instant:

Code:
Sub TempsCourse()

Dim A_Date As String
Dim M_Date As String

A_Date = Format(Now, "yyyy")
M_Date = Format(Now, "mmdd")


Dim pFld As String, f As String

pFld = "C:\Thibaut" & "\" & A_Date & "\" & M_Date & "\"
f = Dir(pFld)

Do Until f = ""
    If f Like "Paris" Then
        Workbooks.Open (f)
      Else
    End If
    f = Dir()
Loop
End Sub

Mais quand je compile, il ne se passe rien..

Merci d'avance à tous !!

Thibaut
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Recherche d'un fichier à nom variable - VBA 2010

Bonjour.

Il ne se passe rien parce que sans un seul caractère générique f Like "Paris" ne saurait être vrai que pour f = "Paris".
Mais il y a mieux à faire que prendre tout et tester f Like "Paris*" : ne prendre que les Dir("Paris*")
Faites préalablement: ChDrive "C": ChDir "C:\Thibaut" & "\" & A_Date & "\" & M_Date
Là, sinon vous auriez encore un problème parce que vous n'avez pas reprécisé le chemin dans le WorkBooks.Open.
Comme ça, au contraire, vous n'aurez plus non plus besoin de le préciser au Dir
 

Thibaut.DT

XLDnaute Nouveau
Re : Recherche d'un fichier à nom variable - VBA 2010

Bonsoir Dranreb,

Merci beaucoup pour votre réponse rapide. Malheureusement j'ai peur de ne pas avoir saisis ce que vous dites (level noob). Auriez-vous un bout de code intégrant ce que vous essayez de m'expliquer ?

Dans l'idée, je pensais que ce que je voulais faire était assez simple:
1) lister tous les fichiers contenus dans un dossier (que je pourrais voir à laide de la fonction Dir)
2) ouvrir celui comprenant les caractères que je souhaite (ici "Paris") (à l'aide d'une bonne boucle des familles)

Merci !!!
 

Dranreb

XLDnaute Barbatruc
Re : Recherche d'un fichier à nom variable - VBA 2010

Oui mais il est encore plus simple de ne demander que les "Paris" et quelque chose au Dir, non ?
Et "et quelque chose" se dit "*" pour un Dir comme pour un Like, or vous n'en aviez pas mis.
VB:
Sub TempsCourse()

Dim A_Date As String
Dim M_Date As String

A_Date = Format(Now, "yyyy")
M_Date = Format(Now, "mmdd")

Dim f As String

ChDrive "C": ChDir "C:\Thibaut" & "\" & A_Date & "\" & M_Date

f = Dir("Paris*.*")
Do Until f = ""
   Workbooks.Open f
   f = Dir()
   Loop
End Sub
 
Dernière édition:

Thibaut.DT

XLDnaute Nouveau
Re : Recherche d'un fichier à nom variable - VBA 2010

Ok Merci beaucoup Dranreb, je vais essayer cela tout de suite et vous fait un retour. J'ai une autre petite question. Si maintenant je recherche un fichier comportant le mot "Paris" et le mot "Course". Puis-je mettre : f = Dir("Paris*.*Course") ?

Merci encore;
 

Discussions similaires

Statistiques des forums

Discussions
312 109
Messages
2 085 383
Membres
102 878
dernier inscrit
asmaa