Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 30/06/2009, 17h03   #1
Nouveau membre du Club
 
Date d'inscription: avril 2008
Localisation: Le Mans
Messages: 78
Par défaut Le choix d'un répertoire par défaut dans un GetOpenFileName fonctionne imparfaitement

Bonjour,

Ce post :
http://www.developpez.net/forums/d47...topenfilename/

correspond exactement à ce que je recherche. Mais, (parce que s'il n'y avait pas de mais j'aurais surement pas remis un post), chez moi, la première solution m'ouvre bien une fenetre pour que je choississe le fichier dans le dossier spécifié, mais par contre, ça ne m'ouvre pas le dit-fichier par la suite ?! Et en plus, si je veux ouvrir un fichier, ça me met une msgbox avec le chemin, et si je mets annuler, ça me met une message avec FAUX écrit à l'interieur.

Donc, revoici le code :

Code :
Sub test()
 
'Selectionne un disque
ChDrive "C:"
'Selectionne un repertoire sur ce disque
ChDir "C:\Documents and Settings\Default User\Mes documents"
 
'La boite de dialogue s'affiche avec le repertoire selectionne
Msgbox Application.GetOpenFilename
 
End sub
Vous avez une idée ?

Merci beaucoup !

Secco
Secco est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/06/2009, 17h51   #2
Futur Membre du Club
 
Date d'inscription: août 2005
Messages: 37
Par défaut

Bonjour, Secco,
L'instruction GetOpenFileName fait ce qu'elle doit faire, c'est à dire faire apparaître la fenêtre d'ouverture de fichier.
Je ne suis pas un expert, mais dans ton code, tu ne précises pas le nom du fichier à ouvrir.
J'ai trouvé quelque chose ici :
http://vb.developpez.com/faqvba/?page=3.2#BookOpen


En espérant t'avoir aidé.

Bonne journée

Chordially
chordially est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/06/2009, 19h35   #3
Expert Confirmé
 
Avatar de Krovax
 
Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
Par défaut

Bonjour,
Comme ce la viens a été dit Getopenfilename se contente de donner le chemin du fichier. C'est son boulot pas plus pas moins (d'ailleur de légère notion d'anglais le signale, obtenir le nom du fichier)
(par contre regarde l'aide car tu peux chosir le type de fichier affiché) Regarde l'aide sur la fonction


Code :
dim chemin as string
chemin=Application.GetOpenFilename("Fichier excel (*.xl*), *.xl*, Fichier excel 97-2003 (*.xls), *.xls, Tous (*.*),*.*") 'ouvre fichier excel 07 et 97-2003
if chemin="Faux" then 
msgbox "vous avez annulé"
exit sub
endif
 
Ensuite a toi d'ouvrir le fichier que tu as choisis, comme tu ne précise pas le type de fichier on ne peux pas t'aider d'avantage
Krovax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/06/2009, 22h45   #4
Nouveau membre du Club
 
Date d'inscription: avril 2008
Localisation: Le Mans
Messages: 78
Par défaut

Merci pour vos réponses

Donc, ça signifie que même si ça m'ouvre la fenêtre de "choix d'un fichier à ouvrir", même si l'utilisateur choisit un fichier dans le dossier, ça ne l'ouvrira pas si je ne spécifie pas le type de fichier qu'il doit ouvrir ?

Je n'ai pas mon document sous les yeux, mais demain matin je m'y remets et je vous redis la suite.

A+

Secco
Secco est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 07h04   #5
Membre expérimenté
 
Date d'inscription: juin 2006
Localisation: Saint Thois
Messages: 516
Par défaut

Salut, GetOpenFilename [F1]
kiki29 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 08h34   #6
Expert Confirmé
 
Avatar de Krovax
 
Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
Par défaut

Getopenfilename n'ouvre pas les fichier elle te donne juste le nom du fichier en question, pas plus pas moins. Spécifié le type de fichier ne fait que aider l'utilisateur a trouver ce qu'il cherche.

C'est a toi de dire comment ouvrir le fichier qui a été choisi.
(d'ailleur tu n'est pas obligé de vouloir l'ouvrir tu peux vouloir le supprimer ou le déplacer, c'est pour ca que ca ne serait vraiment pas pratique que cela ouvre le fichier en question a chaque fois)

Comme le dit kiki29 de manière très synthétique. Regarde ce que dit l'aide cela t'aidera a comprendre (faut dire que c'est son boulot )
Krovax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 08h56   #7
Nouveau membre du Club
 
Date d'inscription: avril 2008
Localisation: Le Mans
Messages: 78
Par défaut

Bonjour

Et voilà ma solution.

Code :
 Workbooks.Open Filename:=Application.GetOpenFilename("Excel Files (*.xls),*.xls")
Merci à tous pour votre aide.

Secco
Secco est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 09h59   #8
Membre Expert
 
Avatar de aalex_38
 
Date d'inscription: septembre 2007
Messages: 1 455
Par défaut

Bonjour à tous,


Ton code fonctionne, mais que se passe-t-il si la personne clique sur annulé ?

Pour le tester tu peux faire :


Code :
Dim QuelFichier As Variant
QuelFichier = Application.GetOpenFilename("Excel Files (*.xls),*.xls")
If VarType(QuelFichier) = vbBoolean Then
      Exit Sub
End If
 
Workbooks.Open Filename:= QuelFichier
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 14h10.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.