VBA: entree utilisateur avec un explorateur

_Pitch -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je fais un programme en VBA (Autocad) et je voudrais que l utilisateur choisisse le fichier Excel ou sont situees les donnees source.
Pour cela je voudrais que l utilisateur puisse cliquer sur "parcourrir" et aller selectionner ce fichier.
Quel commande est ce?
Merci

6 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour, un exemple...
Sub OuvreFichier()
Dim nomfich As String
ChDrive "g" 'la lettre du DD
ChDir "g:\" 'te place dans le répertoire où sont les fichiers à ouvrir
'Affiche la boîte de dialogue Ouvrir
' nomfich = Application.GetOpenFilename(FileFilter:="Fichier texte(*.txt),*.txt" _
' , Title:="Sélectionnez le fichier à ouvrir")
nomfich = Application.GetOpenFilename(FileFilter:="Tout Fichier (*.*),*.*" _
, Title:="Sélectionnez le fichier à ouvrir")
If LCase(Right(nomfich, 3)) <> "xls" Then Stop 'Pas fichier excell
Workbooks.Open (nomfich)
End Sub
A+
0
_Pitch
 
C est un bon debut, merci. Cependant j ai encore une erreur:

FileName = Application.GetOpenFilename("All Files (*.*),*.*" _
, "Select file")

->l object ne supporte pas cette application ou methode.

J ai essaye comme ca:
Dim Excel As Application
FileName = Excel.GetOpenFilename("All Files (*.*),*.*" _
, "Select file")

->La il me dit "Methode non trouvee"

Mes logiciels sont en anglais, d ou les messages d erreurs speciaux (traduit par moi)

Suis a court d idee... j arrive pas a comprendre la logique de ce language. Je ne sais pas comment chercher les commandes/method/syntaxes de maniere efficace.
Quelqu un a une astuce?
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Pffftttt, pourquoi voulior changer les variables ?????
Tu emploi FileName qui est un mot réservé.
Fait copier coller, et ce ne serra plus un bon début mais une bonne fin.
A+
0
_Pitch
 
Parce que je vis dans un pays anglophone, donc par reflexe...(si un de mes collegues passe derriere moi les variable ne seront pas "parlantes" pour lui.)

Cela dit tu as raison, je dois faire attention aux "mots reserves"
J ai refait avec copier coller du premier code: meme erreur. Je dois avoir un truc mal configure...
sinon j ai trouve ca comme source: https://codes-sources.commentcamarche.net/

C est bien aussi, mais ta methode plus directe doit suffire a mes besoins.
En fait je n ai pas besoin d ouvrir le fichier, simplement d enregistrer le chemin pour pouvoir aller chercher les valeurs dont j ai besoin.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pitchouli
 
lapitch
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
dans la macro tu sélectionne..
GetOpenFilename
et tu tape F1, si ton logiciel est en anglais tu aurras l'aide en anglais.
A+
0