Enregistrer sous, laisser choisir chemin
Résolu
ButteDuLac
Messages postés
495
Date d'inscription
Statut
Membre
Dernière intervention
-
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Disons que je veux, au clic d'un bouton, qu'Excel enregistre le classeur sous un nom précis :
Ça, ça fonctionne très bien!
Mais disons que je souhaite que l'utilisateur puisse choisir son chemin d'accès, mais que le nom de fichier et surtout le format de fichier soient forcés...
Autrement dit, est-ce possible que la fenêtre de dialogue "Enregistrer sous..." s'ouvre et suggère le nom de fichier en fonction de mon code (soit d'une valeur de cellule), au lieu de "Classeur1", et que le format de fichier soit "Classeur Excel prenant en charge les macros", au lieu d'un classeur Excel normal?
Sinon, y a-t-il une autre façon de procéder???
Merci à l'avance!
Disons que je veux, au clic d'un bouton, qu'Excel enregistre le classeur sous un nom précis :
ActiveWorkbook.SaveAs Range.("A1").Value & ".xlsm", fileformat:=52
Ça, ça fonctionne très bien!
Mais disons que je souhaite que l'utilisateur puisse choisir son chemin d'accès, mais que le nom de fichier et surtout le format de fichier soient forcés...
Autrement dit, est-ce possible que la fenêtre de dialogue "Enregistrer sous..." s'ouvre et suggère le nom de fichier en fonction de mon code (soit d'une valeur de cellule), au lieu de "Classeur1", et que le format de fichier soit "Classeur Excel prenant en charge les macros", au lieu d'un classeur Excel normal?
Sinon, y a-t-il une autre façon de procéder???
Merci à l'avance!
A voir également:
- Enregistrer sous, laisser choisir chemin
- Audacity enregistrer son pc - Guide
- Comment enregistrer une conversation - Guide
- Enregistrer son ecran - Guide
- Comment enregistrer une video youtube - Guide
- Comment enregistrer un mail - Guide
1 réponse
Bonjour,
Comme ceci cela devrait fonctionner :
Comme ceci cela devrait fonctionner :
Dim rep As String While rep = "" With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Choisissez votre répertoire de sauvegarde" .Show If .SelectedItems.Count > 0 Then rep = .SelectedItems(1) & "\" End With Wend ActiveWorkbook.SaveAs rep & Range("A1").Value & ".xlsm", FileFormat:=52
J'ai essayé. C'est presque parfait... j'ai juste un bogue à l'enregistrement. Ça bogue sur la ligne 9, que j'ai modifiée ainsi :
Ai-je fait une erreur? (Noter que ça boguait aussi avec la ligne 9 initiale...)
J'ai mis la macro dans un module, sous un bouton cliquable, est-ce le bon endroit?
Alors un grandiose merci à vous, gbinforme!!!
Oh! Mais juste une dernière chose... j'aurais besoin d'une ligne qui permet d'annuler la commande (genre « on cancel exit sub »), car si j'appuie sur le bouton « Annuler », il ne se passe rien, alors je suis obligée d'enregistrer même si je ne le souhaite pas...
Solution??? (Merci!)
----
Mise à jour : non, maintenant, ça fonctionne avec les cellules vides... je vais devoir rectifier avec un IF...
Code gbinforme modifie pour annuler ou croix fermeture
Bogue à la ligne 9???
Chez moi, pas d'erreur!
Ajoutez la ligne Chemin avant ka ligne Active.... et mettez un point d'arret sur cette lugne
Lancez et a l'arret passez le curseur souris sur Chemin pour voir son contenu, si trop long pour voir, ajoutez une ligne en dessous de chemin
et relancez. ensuite affichez fenetre d'execution, vous verrez le contenu de Chemin et a vous de decider pour le suite