Excel verification automatique enregistrement

Résolu/Fermé
fantomas - 9 oct. 2008 à 20:22
 fantomas - 10 oct. 2008 à 09:25
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
A voir également:

2 réponses

bonjour,
Un grand merci à pilas 31 pour cette solution quie repond à mes attentes
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
10 oct. 2008 à 00:21
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
-1