Application : getopen filename sur VBA

Signaler
Messages postés
52
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
2 octobre 2008
-
Messages postés
52
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
2 octobre 2008
-
Bonjour,

En utilisant l'application getopen filename, j'obtiens le chemin d'accès ( c:\ .... )  d'un fichier.

Je n'arrives pas à utiliser ce chemin, pour pouvoir travailler sur le fichier en question.
Je ne sais pas comment faire passer ce fichier en fichier actif...

J'éspères que quelqu'un prendra le temps de répondre à ma question.

Merci

6 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

et l'aide VBA ça te serait pas venu a l'idee ? Si tu etais allé voir cette aide tu aurais vu un truc du style :

Dim FileToOpen As String
FileToOpen = Application
.GetOpenFilename("Excel files (*.xl,*.xls,*.xla,*.xml,,*.xlm,*.xlc,*.xlw), *.xl,*.xls,*.xla,*.xml,,*.xlm,*.xlc,*.xlw")
Msgbox FileToOpen

A+
Messages postés
52
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
2 octobre 2008

Merci de ton aide, mais je sais pas si je ne me suis pas bien fait comprendre un s'il y a un truc que j'ai pas compris mais j'ai toujours un problème.

je m'explique:

J'arrives à stocker le chemin dans une variable (FileToOpen par exemple) sans trop de difficulté.

Mais je n'arrives pas à utiliser ce chemin pour faire passer le fichier en question en fichier actif.

Clairement je veux extraire des données de ce fichier mais je n'arrives pas à accéder à ces données.

(en ce qui concerne l'aide VBA elle est malheureusement en anglais...)

merci
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
...
Ben pour moi aussi l'aide est en anglais mais que l'aide soit en français ou en anglais les exemples sont en VBA .

Soit tu traitres la chaine renvoyer par la variable FileToOpen pour en extraire le nom du fichier soit tu utilises la fonction dir comme ceci:

FileName = Dir(FileToOpen)

et tu termine par:

WorkBooks(FileName).Activate

ce qui mis ensemble donne quelque chose comme ça:

Dim FileToOpen As String, FileName As String
FileToOpen = Application . GetOpenFilename ("Excel files (*.xl,*.xls,*.xla,*.xml,,*.xlm,*.xlc,*.xlw), *.xl,*.xls,*.xla,*.xml,,*.xlm,*.xlc,*.xlw")
FileName = Dir(FileToOpen)
WorkBooks(FileName).Activate

A+
Messages postés
52
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
2 octobre 2008

ok merci de m'accorder du temps ,

j'en profites pr te poser une autre:

si le fichier stocké ds FileToOpen a .csv et non pas .xls comme extension....

comment fait -on? car je crois que VBA n'acceptes pas Workbooks("file.csv")

merci d'avance....
Messages postés
16
Date d'inscription
jeudi 3 août 2006
Statut
Membre
Dernière intervention
26 juin 2008

Salut,

Essais

Dim FileToOpen As String

FileToOpen = Application . GetOpenFilename ("Excel files (*.xl,*.xls,*.xla,*.xml,,*.xlm,*.xlc,*.xlw), *.xl,*.xls,*.xla,*.xml,,*.xlm,*.xlc,*.xlw") 'récupération du chemin
If FileToOpen = False Then Exit Sub
Workbooks.Open FileToOpen 'ouverture du fichier

Je ne vois pas à quoi sert le Dir ici...
Personnellement, je préfère utilisé l'objet FileDialog qui est plus complet.
 Skakaline
Messages postés
52
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
2 octobre 2008

comment marche l'outil FileDialog?

et au passage, quel est l'équivalent de l'application GetOpenFilename mais pour stocker un répertoire?

merci