[VBA] Enregistrer sous

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

Maivas

XLDnaute Junior
Bonjour,

Cela fais des heures que je cherche la macro idéale pour répondre à mon besoin mais je ne trouve rien...
Donc je sort ma carte Joker en l’occurrence vous! Merci

Mon besoin:
L'utilisateur en cliquant sur le bouton par défaut d'excel "Enregistrer sous" doit faire apparaître comme d'habitude la boîte de dialogue "Enregistrer sous" mais avec le Nom de Fichier prédéfinis (Celui-ci étant contenu dans une cellule du classeur actif).

J'ai bien trouvé un début de solution mais 2 problèmes se posent à moi:
1 - Lors de mon enregistrement il m'affiche une boite de dialogue "Confirmer enregistrement" - "Le fichier XXXX existe déjà, Voulez-vous le remplacer" > Boite de dialogue que je n'ai pas réussi à masquer malgré mon Application.DisplayAlerts = False (Au passage ça marchait bien sur Excel 2003 mais depuis 2007 marche plus, snif)

2- Comme j'utilise la procédure beforesave il me pré-enregistre le fichier à un endroit donné (d'où d'ailleurs la boite de dialogue "Confirmer l'enregistrement" et du coup si l'utilisateur décide de l'enregistrer dans un autre dossier il aura un doublon dans l'emplacement d'origine.

En espérant que vous puissiez m'aider...HELLLLLLLLLP!

Voici mon petit bout de code....attention aux yeux...
Merci

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.DisplayAlerts = False
    Rep = ThisWorkbook.Path & "\"
    MonFichier = Feuil7.Range("F2")
    Application.EnableEvents = False
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs Filename:=Rep & MonFichier & ".xlsm"
    Application.DisplayAlerts = True
    Application.EnableEvents = True
End Sub
 
Re : [VBA] Enregistrer sous

bonjour Maivas
voici un code que j'utilise pour sauvegarder en fermant par la croix
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 On Error GoTo erreur
 varname = Sheets("Feuil1").Range("g17").Value
 fname = InputBox("enregistrer le fichier sous le nom", "Enregistrement", varname)
 ActiveWorkbook.SaveAs Filename:=fname
 Exit Sub
erreur:
  rep = MsgBox("Une erreur c'est produite, voulez vous quitter sans sauvegarder", vbYesNo)
  If rep = 7 Then Cancel = True
End Sub
il y a un msgbox qui s'ouvre afin de demander s'il faut sauver sous le nom qui est en ("g17") ou sous un autre nom
avant il faut cocher enregistrer dans les option d'excel pour retrouver le fichier
cordialement si cela peut aider

Pascal
 
- 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

Réponses
20
Affichages
1 K
Réponses
3
Affichages
251
Retour