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

XL 2013 ouvrir un dossier a nom variable

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Arctica

Guest
Bonjour,

Je dois importer un fichier dont la première partie est invariable suivi de la date du jour et de l'heure a laquelle le dossier est créer (ex:Bons de prélèvement-20151124-101932, partie invariable "Bons de prélèvement-" ) ce dossier est sur le bureau j' ai donc ecris ce code
Code:
Dim NomFic As String
    NomFic = Dir("C:\Desktop\Bons de prélèvement- " & Format(Date, "yyyymmdd") & Format(Heure, "hhmmss"))
    Application.Workbooks.Open NomFic
malheureusement le code me "dis désolé nous ne trouvons pas"
j'ai mis .xlsx à la fin du code et là il me dit qualificateur incorrect pour Dir
pouvez vous m'aider ?
 
Re : ouvrir un dossier a nom variable

Bonjour.
Si vous connaissez le nom du fichier en entier pourquoi faire un Dir ?
Sinon:
VB:
ChDrive "C": ChDir "C:\Desktop" ' pas C:\Users\…\Desktop ?
NomFic = Dir("Bons de prélèvement-*.xlsx")
If NomFic <> "" Then Application.Workbooks.Open NomFic
 
Re : ouvrir un dossier a nom variable

bonjour Dranreb ,

Je vais essayer votre solution mais pour répondre à votre question, nous devons extraire un fichier toutes les heures
donc nous devons automatiser la macro et comme l'horaire, dernière partie du fichier change a chaque fois, avec la date le lendemain...
 
Re : ouvrir un dossier a nom variable

Si vous ne connaissez son nom qu'à l'heure près vous pouvez faire :
VB:
NomFic = Dir("Bons de prélèvement-" & Format(Now, "yyyymmdd-hh") & "*.xlsx")
S'il peut avoir été créé dans les 10 dernières minutes, donc dans l'heure passée:
VB:
NomFic = Dir("Bons de prélèvement-" & Format(Now - TimeSerial(0, 10, 0), "yyyymmdd-hh") & "*.xlsx")
S'il ne peut avoir été créé que durant les 30 dernières secondes :
VB:
NomFic = Dir("Bons de prélèvement-" & Format(Now - TimeSerial(0, 0, 30), "yyyymmdd-hhmm") & "*.xlsx")
Vous pouvez aussi faire une boucle de ce genre :
VB:
Dim NomFic As String, RésuDir As String
ChDrive "C": ChDir "C:\Desktop"
RésuDir = Dir("Bons de prélèvement-" & Format(Now - TimeSerial(0, 5, 0), "yyyymmdd-hh") & "*.xlsx")
While RésuDir <> ""
   If RésuDir > NomFic Then NomFic = RésuDir
   RésuDir = Dir: Wend
If NomFic <> "" Then Application.Workbooks.Open NomFic
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…