Sauver sou - boite d'alerte

LouisBlanc

XLDnaute Nouveau
Bonjour,


Je réalise une Macro VBA Excel pour traiter des données.
En fin de programme, j'ouvre la boite "enregistrer sous" avec un nom proposé par défaut.
Tout fonctionne bien sauf si le nom de fichier existe déjà. Un message d'alerte apparait me demandant si je veux tout de même sauver, si je veux annuler, et je peux aussi fermer la boite avec la petite "X" en haut à droite.
Si je sauve quand même (réponse oui), pas de problème. Mais si je dis non, si j'annule ou si je ferme la fenêtre, bug de la macro.
Je ne trouve pas les codes permettant de traiter les réponses à cette boite de dialogue.
A savoir que je sais éviter l'apparition de cette boite de dialogue, mais ça ne m'intéresse pas, car cette sécurité est importante pour moi.
Auriez vous des propositions ?

Si dessous la partie de code concernée.

Merci d'avance
*************

Do
NomSauve = Application.GetSaveAsFilename(InitialFileName:=NomDeSauvegarde, FileFilter:="fichier excel, *.xls", Title:="Entrer un nom")
If NomSauve <> "Faux" Then Exit Do
Loop

ActiveWorkbook.SaveAs Filename:= _
NomSauve _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

************

Merci pour vos réponses, ou pistes rapides, c'est assez urgent, car c'est une macro qui doit être utilisée par plusieurs personnes complétements novice en VBA, et je ne peux pas me permettre l'ouverture du debuggeur en cours d'exécution.

Merci
 

gilbert_RGI

XLDnaute Barbatruc
Re : Sauver sou - boite d'alerte

Bonjour

à tester

Code:
Do
 Nomsauve = Application.GetSaveAsFilename(InitialFileName:="Nom DeSauvegarde", FileFilter:="fichier excel, *.xls", Title:="Entrer un nom")
 If Nomsauve = Cancel Then Exit Sub
 If Nomsauve <> "Faux" Then Exit Do
 Loop
 On Error Resume Next
ActiveWorkbook.SaveAs Filename:= _
 Nomsauve _
 , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
 ReadOnlyRecommended:=False, CreateBackup:=False
 

LouisBlanc

XLDnaute Nouveau
Re : Sauver sous - boite d'alerte

Merci

Mais ça ne marche pas.
Ce que tu proposes s'adresse à la fenêtre de dialogue "enregistrer sous", et non à la fenêtre d'alerte lorsque le nom de fichier existe déjà.

Je cherche un peu partout mais je ne vois pas de solution.

D'autres proposition ?

Merci
 

LouisBlanc

XLDnaute Nouveau
Re : Sauver sou - boite d'alerte

Oui, ça, ça évite d'afficher la fenêtre d'alerte.... ça marche bien, j'ai déjà utilisé,........ mais je ne veux pas, car si le nom de sauvegarde existe, je veux que l'utilisateur change de nom. En gros, au message du type : un fichier du nom XXXXXXX existe déjà, voulez vous continuer ?
Si je réponds oui, pas de problème, ça marche déjà.
Si je réponds non, ou annuler, ou fermer la boite, je veux ré-afficher la boite enregistrer sous pour pouvoir changer le nom.
 

gilbert_RGI

XLDnaute Barbatruc
Re : Sauver sou - boite d'alerte

essayez ça

Code:
Do
 NomSauve = Application.GetSaveAsFilename(InitialFileName:="Nom DeSauvegarde", FileFilter:="fichier excel, *.xls", Title:="Entrer un nom")
 If NomSauve = cancel Then Exit Sub
 If NomSauve <> "Faux" Then Exit Do
 Loop
 On Error GoTo fin
ActiveWorkbook.SaveAs Filename:= _
 NomSauve _
 , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
 ReadOnlyRecommended:=False, CreateBackup:=False
 
Exit Sub
fin:
rep = InputBox("le fichier existe déjà", "enregistrer sous", NomSauve)
If rep = cancel Then
Exit Sub
Else
ActiveWorkbook.SaveAs
End If
 

Discussions similaires

  • Résolu(e)
Microsoft 365 FORMULE Excel VBA
Réponses
17
Affichages
1 K
Réponses
3
Affichages
439

Statistiques des forums

Discussions
314 485
Messages
2 110 101
Membres
110 663
dernier inscrit
ToussaintBug