VBA - arguments dans boites de dialogue

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

J

JYP

Guest
Depuis que j'ai découvert ce site, et quelques autres, je progresse à pas de géants en VBA ! Mais je suis tombé sur un problème dont je ne trouve pas la solution : comment faire pour passer (et récupérer) des arguments lors de l'affichage d'une boite de dialogue standard (EXCEL 2000 Windows)
Exemple :
Application.Dialogs(xlDialogSaveAs). Show
affiche la boite de dialogue bien connue obtenue de manière classique par la fonction "Sauvegarder sous".
Comment passer des arguments, par exemple pour suggérer un chemin et un nom de fichier, ou un format CSV, et comment récupérer et exploiter éventuellement ce qui aura été saisi ?
Merci aux bonnes volontés qui voudront bien se dévouer pour m'aider !
 
Bonjour JYP,

je pense que ceci devrais faire l'affaire (XL 97)

Sub Savedd()
Dim mypath As String
ChDrive "G" 'peut etre inutile, depend du type de DD, pour moi G est un lecteur reseau et je dois le mettre.
ChDir "G:\essai XL\" 'chemin par defaut
mypath = ActiveWorkbook.Application.GetSaveAsFilename("Nom par defaut", "Excel Files (*.xls),*.xls", , "Mets ici le titre de la fenetre")
If mypath = "False" Then ActiveWorkbook.SaveCopyAs FileName:=spath
' tu devras peut etre remplacer False par Faux ?
End Sub

A++, Sylsyl.
 
OK sylsyl,
Merci beaucoup pour ta réponse, mais ce n'est pas ce que j'attends. Je souhaite pouvoir utiliser les boites de dialogue STANDARD d'excel affichables avec "Application.dialogs(nom de la boite).Show". Le cas de la sauvegarde n'est qu'un exemple parmi d'autres.
L'affichage fonctionne bien, mais je ne trouve pas de solution pour passer et récupérer des arguments.
Merci quand même et bonne journée.
JYP
 
Salut,

En effet il y a 2 methodes pour faire la meme chose :

- la premiere (getopenfilename et getsaveasfilename) ne permet que d’ouvrir et sauver.
L’avantage est quelle est personnalisable et que tu peux recuperer facilement les donnees rentrees par l’utilisateur.

- la deuxieme (celle que tu sembles preferer) avec dialogs est plus complete car elle permet de tout faire (changer la police, sauver, etc), elle est personnalisable mais tu ne peux pas recuperer les donnes entrees par l’utilisateur. (c'etait ta premieres questions...)
Pour cette derniere elle s’ecrit
I_am_a_boolean_variable = Application.dialogs(xldialogopen).show(argument1, argument2, etc)

Regarde l’aide VBA pour les argument en fonction de la fenetre affichee (entre « dialogs » en recherche puis cherche « dialogbox argument list » - j’ai XL en anglais)

Un exemple pour completer
application.dialogs(xlDialogOpen).show arg1:="c:\document\xls\*.xls" 'pour afficher les fichiers ".xls"

ai-je repondu a ta question ? donner des indices ? fait cligner des yeux ?

A++, Sylsyl.
 
- 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

Réponses
12
Affichages
992
Retour