Événement Workbook.BeforeSave (Excel)

Cet événement se produit avant l'enregistrement du classeur.

Syntaxe

expression. BeforeSave (SaveAsUI, Cancel)

Expression Variable qui représente un objet Workbook .

Parameters

Nom Requis/Facultatif Type de données Description
SaveAsUI Obligatoire Boolean True si la boîte de dialogue Enregistrer sous s’affiche en raison de modifications apportées qui doivent être enregistrées dans le classeur.
Cancel Obligatoire Booléen Cet argument a la valeur False lorsque l'événement se produit. Si la procédure de l'événement lui affecte la valeur True, le classeur n'est pas enregistré à la fin de la procédure.

Valeur renvoyée

Nothing

Exemple

Cet exemple montre comment inviter l'utilisateur à répondre par oui ou par non à la question de l'enregistrement du classeur.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ 
        Cancel as Boolean) 
    a = MsgBox("Do you really want to save the workbook?", vbYesNo) 
    If a = vbNo Then Cancel = True 
End Sub

Cet exemple utilise l’événement BeforeSave pour vérifier que certaines cellules contiennent des données avant que le classeur puisse être enregistré. Le classeur ne peut pas être enregistré tant qu'il y a des données dans chacune des cellules suivantes : D5, D7, D9, D11, D13 et D15.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   'If the six specified cells don't contain data, then display a message box with an error
   'and cancel the attempt to save.
   If WorksheetFunction.CountA(Worksheets("Sheet1").Range("D5,D7,D9,D11,D13,D15")) < 6 Then
      MsgBox "Workbook will not be saved unless" & vbCrLf & _
      "All required fields have been filled in!"
      Cancel = True
   End If
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.