VBA Ouvrir un fichier qui change de nom tous les jours

merguez59

XLDnaute Nouveau
Bonjour à tous,

Je souhaite, par une macro, ouvrir un fichier qui change de nom tous les jours (pour ensuite en faire un copié collé)

En fait un requêteur envoie chaque jour dans un répertoire (qui est toujour le même) un fichier excel. Si ce fichier avait le même nom tous les jours (et écrasait le précédent), il n'y aurait pas de problème. Mais chaque jour le fichier s'appelle:

extraction 2014-08-07-08-45-29
demain, ce sera
extraction 2014-08-08-08-45-28
après demain
extraction 2014-08-09-08-45-32

en fait:
c'est l'année, le mois, le jour, l'heure, la minute ET (là où ça se complique), la seconde... qui malheureusement, elle, est assez aléatoire...

Deux possibilités:
• aller chercher le fichier le plus récent du répertoire
• trouver un moyen de chercher le fichier qui se rapproche de "extraction" + date du jour...

Merci d'avance pour votre aide!
 

Dranreb

XLDnaute Barbatruc
D'accord. Il y a peut être un problème quand il n'y a qu'un classeur déjà ouvert correspondant au modèle de fichier,
et qu'on voudrait en ouvrir un autre qui y correspond aussi.
Je vais voir ce que je peux y faire. Mais ce n'est pas évident.
Peut être avoir un seul affichage à la fois des fichiers déjà ouverts et de ceux existants non ouverts.
C'est une refonte assez importante. Espérons que ça ne va pas alourdir l'utilisation. D'habitude en pratique on a des fichiers ouverts de parties constantes reconnaissables assez différentes et plus conséquentes. Et si on veut en ouvrir un autre on devrait spécifier une partie plus important du nom de fichier qui soit différente de cette partie dans les fichiers déjà ouverts.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Ce que je ne comprends pas
C'est pourquoi
SF16\tot*
liste les trois fichiers: Toto.xls toto.xlsx et totoClasseur1.xlsm

Alors que SF16\to*n'en liste aucun tout comme SF16\t* et SF16\*

Alors que comme expliqué (et testé) dans le message#54, avec un lecteur réseau
les trois syntaxes liste les fichiers Excel dans la listBox
 

Dranreb

XLDnaute Barbatruc
Ben oui c'est parce que tot* ne correspond à aucun classeur déjà ouvert tandis que to* si, et à un seul, d'où sa considération comme cible cherchée vite expédiée.
Mais dans l'état actuel des chose ça devrait faire pareil avec un lecteur réseau.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Si on demande vraiment n'importe que fichier, il devrait rendre le seul ouvert trouvé, c'est à dire le FonctionClasseur.xlsm lui même, dans les deux les cas. Ce qui n'est peut être pas bon, d'ailleurs, mais pour l'instant c'est comme ça.
Pourrait tu les dérouler chacun en pas à pas, avec si tu veux des espions sur les expression 'Classeur Is Nothing' et 'Classeur.Name' en vue de comprendre pourquoi, quand on arrive à l'instruction If Classeur Is Nothing Then suivie du remplissage de la LBxFich d'après les Dir dans un dossier réseau, Classeur est resté Nothing au lieu d'avoir été positionné par la dernière Set Classeur = Workbooks(RésuDir) ?
(Cette variable RésuDir n'est pas pertinente à cet endroit, d’ailleurs. Même si ce n'était pas indispensable parce qu'elle faisait l'affaire j'aurais du déclarer une RésuChx. J'aurais probablement à l'avenir besoin des deux en même temps)
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Ces tests sur le classeur fourni jusqu'ici n'auront plus que l'intérêt de satisfaire une curiosité, parce que je l'ai pas mal refondu.
Sa vocation n'est toujours pas de remplacer un dialogue définissant un fichier à traiter. (l'UFmWbk jubile encore de ne pas avoir à s'afficher)
Elle est seulement de renvoyer un classeur bien défini du point de vue de l'utilisateur, mais dont une partie du nom peut être variable, en ayant levé s'il y a lieu une ambigüité.
Cependant j'estime maintenant que si un dossier spécifié contient plusieurs fichiers de la forme demandée, il faut les lister même s'il n'en existe qu'un seul déjà ouvert qui y correspond. Ce qui n'a pas changé, c'est qu'un classeur déjà ouvert de cette forme là mais ne provenant pas du dossier spécifié est quand même aussi proposé, parce que c'est en soit une bizarrerie improbable dont l'utilisateur doit être informé.
 

Pièces jointes

  • FonctionClasseur.xlsm
    76.2 KB · Affichages: 26

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 157
dernier inscrit
youma