Bonjour le forum

Dans mon classeur, j'ai une macro qui enregistre mon fichier sous un nom et une date récupérés dans les cellules.

Ma procédure de save fonctionne nickel mais je voudrais appeler une macro si mon fichier est déjé existant (c-a-d qu'il a déjà été enregistré une fois).

Dans ma macro Save1() qui est appelée la macro Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) j'ai ajouté un test qui me revoie sur ma macro Save2()

Ma macro Save2() est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Save2()
' Macro de sauvegarde après modification d'une demande déjà existante.
 
Dim OKModif As Integer
 
SaveAsUI = False ' <-- Empêche l'ouverture (inutile) de la boîte de dialogue "Enregistré sous . . ."
 
ActiveWorkbook.Save
 
OKModif = MsgBox("Nous sommes le " & Date & " il est  " & Time & " " + Chr$(13) + Chr$(13) + Chr$(13) _
                & "La demande a été modifiée correctement. " + Chr$(13) + Chr$(13) + Chr$(13), _
                vbOKOnly + vbExlamation + vbDefaultButton1, "                                        -  LA DEMANDE EST CORRIGÉE -          ")
                            ' <-- Mise en forme de la boîte de dialogue d'enregistrement.
 
If OKModif = vbOK Then
    Application.Quit                        ' <-- On quitte Excel
End If
 
End Sub
Mon problème est le suivant si mon if de Save1() me renvoie bien dans Save2(), après l'affichage de ma MsgBox : une ComboBox m'indique que le fichier Toto 2008-08 existe déjà voulez-vous le remplacer. Si je répond Non, je suis revoyé dans ma macro Save1().

Comment faire pour éviter ce retour et quitter Excel si je clic sur OK comme je l'indique dans ma macro Save2().

J'ai dû oublier quelque chose . . . mais quoi ?

Merci de votre précieuse aide.