Excel verification automatique enregistrement

Résolu
fantomas -  
 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
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  1. fantomas
     
    bonjour,
    Un grand merci à pilas 31 pour cette solution quie repond à mes attentes
    0
  2. pilas31 Messages postés 1878 Statut Contributeur 648
     
    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