Aide avec "Application.GetOpenFilename"

elguau

XLDnaute Junior
Bonjour,

J'ai besoin de votre aide,
j'ai le chemin suivant:
C:\Documents and Settings\David\My Documents\fonctions

dans lequel un fichier est ajouté chaque nuit et le nom est une fonction du jour de création, sous le format suivant : 20100225.xls pour celui d'aujourd'hui, les fichiers sont crées de mardi au samedi, pour une utilisation de lundi au vendredi.

Je n'arrive pas à créer une macro pour ouvrir automatiquement avec un bouton vbale dernier fichier créé et je sais que cela ne doit pas être si compliqué. Si vous pouvez m'aider svp.

Cdt,

David
 

elguau

XLDnaute Junior
Re : Aide avec "Application.GetOpenFilename"

Bonjour Jean-Marcel,

Merci pour ta réponse, j'ai testé et cela marche qd j'utilise mon repertoire privé ("C:\Documents and Settings\CHAPARDA\My Documents\fonctions")
par contre quand je teste la macro sur le réseau, elle ne marche pas, j'ai un message d'erreur d'execution type 13 incompatibilité de type.

Ceci sur la ligne
DateDeRéférence = CDate(Left(Right(MyFile, 6), 2) & "/" & Left(Right(MyFile, 8), 2) & "/" & Left(MyFile, 4))

aurais-tu une idée de cette erreur, car toutes mes autres macros qui pointent sur la meme adresse réseau fonctionennet sans problème.

cdt

David
 

elguau

XLDnaute Junior
Re : Aide avec "Application.GetOpenFilename"

Je vois d'où vient le problème, il ne s'agit pas d'un manque de définiton .xls
En fait, le serveur a modifié le noms des fichiers crées. Il s'avère que depuis aujourd'hui le nom a comme prefixe T40_, par exemple : T40_20100227

je redefinie la ligne comme suit:
Code:
MyFile = Dir(Répertoire & "\" & "T40_" & "*.xls")

et il trouve bien un fichier mais pas le bon : T40_20100126 (testé avec un espion et avec msgbox)
et là, tu as raison Habitude, on essaie de convertir en cdate du texte.

Je ne vois pas comment contourner cette nouvelle façon dont les fichiers sont nommés.

David
 

elguau

XLDnaute Junior
Re : Aide avec "Application.GetOpenFilename"

Jean-Marcel,

Merci beaucoup pour ton aide, j'ai tout testé aujourd'hui et la macro marche très bien, même sur l'adresse du réseau, par contre pour éviter toute confusion avec le répertoire il faut pas utiliser la ligne ci après en gras:
Code:
Dim MyFile, MyFile1
    Application.ScreenUpdating = False
    NomDuFichierOrigine = ActiveWorkbook.Name
    Répertoire = "adresse du réseau"
   [B]'Répertoire = ThisWorkbook.Path[/B]
    MyFile = Dir(Répertoire & "\" & "*.xls")
    If MyFile <> NomDuFichierOrigine Then

car si non répertoire devient celui ou le fichier active est enregistré.

Un grand merci et à une prochaine.

David
 

Discussions similaires

Réponses
306
Affichages
26 K

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 764
dernier inscrit
nissassa