XL 2016 VBA - Ouvrir un fichier par le début de son nom

  • Initiateur de la discussion Initiateur de la discussion rounil09
  • Date de début Date de début

rounil09

XLDnaute Occasionnel
Bonjour la liste

Je souhaite faire la mise à jour d’un fichier à partir d’un autre fichier qui a une partie fixe nommée MaListe_ et une partie variable (en fait la date du jour).
Pour éviter de modifier à chaque fois ma macro qui fonctionne avec le nom complet du fichier (exemple MaListe_2020-03-06) j’ai remplacé la partie terminale par une étoile mais la macro ne fonctionne pas. Un message m’indique que le fichier est introuvable. Code :

Sub ImportFichierMaListe()

Dim wb As Workbook

Dim ws As Worksheet

Workbooks.Open ("C:\Users\gerar\Documents\MaListe_*.xls")

Set ws = ActiveWorkbook.Worksheets("MaListe_*")

Set ws = Nothing

End Sub

Merci par avance pour votre aide.
 

jmfmarques

XLDnaute Accro
Bonjour rounil09
Tu es donc en présence de plusieurs fichiers de même "préfixe"
Deux solutions (selon que tu veux choisir parmi eux ou décider d'ouvrir le plus récent) :
Les deux utilisent la fonction Dir, mais différemment selon ce que tu veux faire. Et que veux-tu faire ? Choisir ou ouvrir le plus récent ? ;)
 

rounil09

XLDnaute Occasionnel
Bonjour rounil09
Tu es donc en présence de plusieurs fichiers de même "préfixe"
Deux solutions (selon que tu veux choisir parmi eux ou décider d'ouvrir le plus récent) :
Les deux utilisent la fonction Dir, mais différemment selon ce que tu veux faire. Et que veux-tu faire ? Choisir ou ouvrir le plus récent ? ;)
Merci de ton aide jmfmarques.
Je pesais garder dans "Mes documents" le dernier fichier mais si c'est possible de choisir le fichier le plus récent je suis évidemment partant.
Cela permet de conserver tous les fichiers un moment en d'erreurs avant de faire le ménage.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Pour information
Dans les dernières versions d'Excel, il existe plusieurs versions d'un même fichier
Fichier/Informations/Gérer les versions
C'est une piste à explorer, non ?
Et tu n'aurais alors qu'un seul fichier ;)
 

rounil09

XLDnaute Occasionnel
Bonsoir le fil

Pour information
Dans les dernières versions d'Excel, il existe plusieurs versions d'un même fichier
Fichier/Informations/Gérer les versions
C'est une piste à explorer, non ?
Et tu n'aurais alors qu'un seul fichier ;)
Bonjour,
Merci Sptaple 1600 de ta suggestion mais je ne vois pas comment je peux avancer avec cette piste que je viens d'examiner
En fait, ce n'est pas un problème pour moi de garder un seul fichier.
Le problème c'est que la partie finale du fichier est variable et que les 2 macros (voir ci-dessus) qui appellent la seule partie variable ne fonctionnent pas.
Comme suggéré par jfm marques je vais explorer la fonction dir, mais mon niveau VBA est faible...
 

jmfmarques

XLDnaute Accro
Observation/précision : il est clair que doit être connu le chemin complet du dossier contenant le(s) fichier(s) ainsi nommé(s)
Confirme-nous que tel est bien le cas et indique-nous ce chemin complet.
Si tel n'était pas le cas, ce serait dans le meilleur des cas plutôt risqué, plusieurs fichiers en "harmonie" pouvant être présents dans des dossiers différents (à commencer par des sauvegardes éventuelles)
Le développeur averti utilise en général un chemin de dossier relatif à celui de son classeur.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour tout le monde,
Rounil, dans ma macro il y a un bug. Il manque un guillemet.
A la fin de Rep = "C:\Users\gerar\Documents\ mettre un guillemet.
Rep = "C:\Users\gerar\Documents\"

Désolé, mais je n'ai pas testé ce chemin qui ne veut rien dire chez moi.
La macro ne peut pas répondre Non trouvé si votre fichier contient "MaListe_"
 

rounil09

XLDnaute Occasionnel
bonjour
chemin=dir("C:\Users\gerar\Documents\MaListe_*.xls")
' ca te choppe le premier de la liste si plusieurs fichier même préfixe
if chemin<>"" then
Workbooks.Open (chemin )

'...
'...
end if

[parenthèses]
".xls" avec 2016????
[parenthèses]
;)
Merci patricktoulon
Je viens de tester le code, il fonctionne parfaitement.
".xls" avec 2016???? : Le fichier que je reçois n'est pas de mon cru, il m'arrive à ce format.
 

Discussions similaires

Réponses
3
Affichages
508
Réponses
49
Affichages
1 K
Réponses
4
Affichages
390

Statistiques des forums

Discussions
315 283
Messages
2 118 017
Membres
113 410
dernier inscrit
ffgsd