Excel verification automatique enregistrement

[Résolu/Fermé]
Signaler
-
 fantomas -
Bonjour,

J'ai besoin d'un coup de main.
J'ai creer cette macro :

Public Sub CommandButton1_Click() 'copie sauvegarde classeur

Dim nom As String
nom = Range("d5") & "_" & ActiveWorkbook.Name
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom
rep = MsgBox("Votre base de données est sauvegardée sous le nom : " & nom, vbYes + vbInformation, "Copie sauvegarde classeur")

End Sub

Je voudrais lui rajouter une fonction :
Lorsque je ferme mon classeur excel, je voudrais une verification d'enregistrement, si je n'ai pas enregistré je voudrais qu'excel me le demande.
Merci pour votre aide

2 réponses

bonjour,
Un grand merci à pilas 31 pour cette solution quie repond à mes attentes
Messages postés
1823
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
614
Bonsoir,

Je propose la solution suivante :

Déclarer une variable globale SauveNon qui est initialisée à "True" l'ouverture du classeur, qui passe à "False" lors de la macro CommandButton1 et qui est testée à la fermeture du classeur.

Il faut donc ajouter les lignes de code suivantes associées à "ThisWorkbook"

Public SauveNon As Boolean

Private Sub Workbook_Open()
    SauveNon = True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If SauveNon Then
        rep = MsgBox("Voulez-vous quitter sans sauvegarder ?", vbYesNo)
        If rep = vbNo Then Cancel = True
    End If
End Sub


puis dans la macro CommandButton1_Click() ajouter la ligne :

SauveNon = False


Cordialement