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

ouvrir un fichier comprenant une date

  • Initiateur de la discussion Initiateur de la discussion chris74250
  • 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 !

C

chris74250

Guest
Bonjour a tous,

Je decide enfin a m'inscrire car je ne trouve pas la solution dans ce beau forum.
Depuis longtemps je vous consulte et vous suit mais la je ne trouve pas de solution a mon problème.

En fait je souhaite ouvrir un fichier pour recuperer deux feuilles dedans et les incorporer dans un nouveau fichier.

Les deux feuilles a recuperer sont nommées de telle maniere :
Host - ( et une date qui change tous les jours en fonction du jour ouvré et de format "AAAAMMJJ")

Je n'arrive pas à créer dans ma macro le bout de code qui me permet de trouver le dernier fichier créer.

celui-ci peut etre trouvé :
- soit par date
- Soit le dernier fichier modifié

Pouvez vous m'aider s'il vous plait ?

merci d'avance
 
Re : ouvrir un fichier comprenant une date

Bonjour Chirs74250
Voici une première réflexion pour trouver la feuille la plus jeune (ayant le nom le plus grand) :

-récuperer le nom des feuilles de votre fichier (collection : sheets ; commande 'for each feuille_observee in sheets [...] next)
-mettre toute la collection des noms de feuille (feuille_observee.name) dans un tableau
-trier le tableau (on doit trouver dans ce forum de nombreuses manières de trier un tableau) de manière décroissante
-la première valeur sera la feuille la plus récente.

Est-ce que cela répond en partie à votre demande ?
Concernant la deuxième feuille à trouver, je n'ai pas compris le besoin, pouvez-vous le reformuler et éventuellement mettre un fichier joints pour la compréhension globale ?

Cordialement
Olivier
 
Re : ouvrir un fichier comprenant une date

Désolé je pense m'etre ma expliqué.

Je souhaite recuperer deux feuilles sur un fichier nommé avec une date et c'est ce fichier que je souhaite retrouver par code.

le fichier porte un nom specifique et s'update tous les jours en fonction de la date comme :
Host - 20100215.xls pour celui du jour

Pour les feuilles cela ne me pose pas de problèmes.

merci pour vos recherches et merci pour vos eventuelles reponses
 
Re : ouvrir un fichier comprenant une date

Re

Ahhhh, ok.
La recherche est à peu près la même, sauf que l'on va chercher toutes les noms de fichiers présent dans un dossier (si tel est le cas)
Méthode et commandes :

chemin = "chemin de mon répertoire"

Set fso = CreateObject("Scripting.filesystemobject")
Set mon_dossier = fso.getfolder(chemin)

For Each fichier_observe In mon_dossier.Files '(méthode)
'fichier_observe est un objet type fichier, qui peut donc être manipulé avec
'un Workbooks.Open (fichier_observe) par exemple, et le nom du fichier est simplement fichier_observe.name

[...]

Next

Voici donc une première solution

Tenez-moi au courant

O
 
Dernière édition:
Re : ouvrir un fichier comprenant une date



Je voyais plus la technique de recherche a partir de la commande Now ou le fichier de la veille serait Now-1 mais je seche pour les lundi ou je dois faire -3
 
Re : ouvrir un fichier comprenant une date

J'ai reussis ce que je voulais vous en pensez quoi ?

Dim dateveille As Date
Dim Chemin As String
Dim Fichier As String
Dim ouverturefichier As String

dateveille = DateAdd("d", -1, Now()) permet de recuperer la date j-1 au format jj/mm/aaaa

Chemin = "\\chemin reseau\" chemin reseau caché pour confidentialité au cas ou

If Dir("\\chemin reseau\debut nom fichier" & Mid(dateveille, 7, 4) & Mid(dateveille, 4, 2) & Left(dateveille, 2) & ".xls", vbHidden) <> "" Then recuperation du format qu'il me faut pour la date
If Weekday(Date) = 2 Then 2 etant le lundi cela me permet de contrôler le nbre de jour pour recuperer le dernier fichier
Fichier = "debut nom fichier" & Mid(dateveille, 7, 4) & Mid(dateveille, 4, 2) & Left(dateveille, 2) - 2 & ".xls"
Else
Fichier = "debut nom fichier" & Mid(dateveille, 7, 4) & Mid(dateveille, 4, 2) & Left(dateveille, 2) & ".xls"
End If

ouverturefichier = Chemin & Fichier

Workbooks.Open Filename:=ouverturefichier
Else: MsgBox "fichier non present"
End If
 
Dernière modification par un modérateur:
Re : ouvrir un fichier comprenant une date

Bonjour
Ok, vous créez le nom d'un fichier et vous testez sa présence.
Je proposais un code qui lit tous les noms de fichiers, et qui vous permet ensuite de les comparer (pour trouver le dernier par exemple).

L'idée est différente mais le résultat devrait être le même.

Pour insister un peu, et pour la culture générale ^^ :
Dans ma proposition, vous pouvez récupérer des informations types windows comme la date de dernière modification, qui était la deuxième condition de votre demande. :

Code:
Set fso = CreateObject("Scripting.filesystemobject")
Set mon_dossier = fso.getfolder(chemin)

For Each fichier_observe In mon_dossier.Files '(méthode)
    
    Date_dernière_modif = fichier_observe.[COLOR="Blue"]DateLastModified
[/COLOR]
    [COLOR="SeaGreen"]'renvoie la date de la dernière modification du fichier
[/COLOR]
Next
    [COLOR="SeaGreen"]
    'puis, plus qu'à créer la fonction de trie
[/COLOR]


Toutefois, si votre code vous convient, c'est qu'il est bon !

Bien cordialement
Olivier
 
- 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.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…