[VBA] Enregistrer sous

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
 

grisan29

XLDnaute Accro
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
 

Discussions similaires

Réponses
2
Affichages
193