la boite de dialog Application.GetsaveFilename

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 !

patricktoulon

XLDnaute Barbatruc
Bien utiliser le dialog (Application.GetSaveAsFilename)
par patricktoulon​

Bonjour a tous
la demande étant apparue plusieurs fois cette année ,je vous propose un mini tuto sur ce dialog


La fonction "Application.GetSaveAsFilename" permet d’ouvrir une boîte de dialogue
d’enregistrement de fichier, sans pour autant enregistrer réellement.
Elle retourne uniquement le chemin du fichier choisi par l’utilisateur.

----------------------------------------------------
Syntaxe de base :
----------------------------------------------------

Application.GetSaveAsFilename( _
InitialFileName:= <chemin par défaut>, _
FileFilter:= <filtres de fichiers>, _
Title:= <titre de la fenêtre> _
)

- InitialFileName : (facultatif) chemin complet ou nom par défaut. (type String)
- FileFilter : (facultatif) chaîne qui définit la légende et/ou les extensions visibles. (type String)
- Title : (facultatif) titre affiché dans la boîte. (type String)

----------------------------------------------------
Exemple 1 : plusieurs légendes + plusieurs extensions
----------------------------------------------------

VB:
Sub test2()
    ' Boîte de dialogue avec choix légende et extension
 
    l_e = Array("fichier Texte,*.txt", "fichier csv,*.csv", "fichier de command, *.cmd")
    initName = "C:\Users\patricktoulon\Desktop\titi"
    filtre = Join(l_e, ",")   '  séparation obligatoire par virgule
 
    dest = Application.GetSaveAsFilename( _
                InitialFileName:=initName, _
                FileFilter:=filtre, _
                Title:="ENREGISTREMENT DU FICHIER")
End Sub
Explications :
-Quand il y a plusieurs légendes + extensions, elles doivent être séparées par des **virgules** et non un point virgule .
- FileFilter:=légende 1,extension 1,légende 2,extension 2,etc...........

-Ne pas mettre d’extension dans "InitialFileName" si plusieurs extensions possibles,
- sinon le nom par défaut (inscrit dans le InitialFileName)n’apparaît pas dans l'input du dialog .
-l'extension par défaut dans l'input du dialogue sera la première

1756973042243.png

----------------------------------------------------
Exemple 2 : une seule légende + plusieurs extensions
----------------------------------------------------
VB:
Sub test3()
    ' Une légende avec plusieurs extensions
 
    legende = "Tous les fichiers de type "
    Exts = Array("txt", "csv", "cmd")
    filtr = "*." & Join(Exts, ";*.")   '  séparation obligatoire par point-virgule
    initName = "C:\Users\patricktoulon\Desktop\titi"   ' sans extension
 
    dest = Application.GetSaveAsFilename( _
                InitialFileName:=initName, _
                FileFilter:=legende & "(" & filtr & ")," & filtr, _
                Title:="ENREGISTREMENT DU FICHIER")
End Sub
Explications :
- Quand une seule légende couvre plusieurs extensions, celles-ci doivent être séparées par des **points-virgules**.
- Filefilter:="légende (extension 1 ; extension 2 ; extension 3)"

-Là encore, ne pas mettre d’extension dans "InitialFileName".
-sinon le nom par défaut (inscrit dans le InitialFileName)n’apparaît pas dans l'input du dialog
-l'extension par défaut dans l'input du dialogue sera la première


1756973130371.png



----------------------------------------------------
Résumé des séparateurs :
----------------------------------------------------
- Plusieurs légendes + plusieurs extensions → séparateur **virgule**
- Une seule légende + plusieurs extensions → séparateur **point-virgule**

----------------------------------------------------
Bien saisir la nuance :
----------------------------------------------------
-"GetSaveAsFilename" ne crée pas réellement le fichier. Il ne fait que retourner
le chemin choisi par l’utilisateur.
- Il faut ensuite utiliser des instructions comme "Open For " ou "SaveAs" etc... pour enregistrer réellement le fichier.

Patrick
 
Dernière édition:
- 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

Discussions similaires

Retour