VBA. Bloquer l'enregistrement Si cellule non remplie

bonjour

je suis a la recherche dans code qui permettrais de bloquer l'enregistrement du classeur excel , si des cellule ne sont pas renseigner

exemple si l'une des case ne comporte pas "x" alors j'empêche l'enregistrement

ac
bd

merci pour votre aide

Bonjour,

A adapter et à placer dans le module ThisWorkbook de votre classeur :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.WorksheetFunction.CountBlank([A1:D2]) > 0 Then Cancel = True: MsgBox "Toutes les cellules ne sont pas renseignées, enregistrement annulé", vbCritical
End Sub

Cdlt,

27classeur1.xlsm (13.83 Ko)

bonjour Ergotamie

merci pour ta réactivité mes je vais reformulé ma demande.

le blocage doit ce déclencher seulement si une des cases n'est pas renseigner seulement.

ton code oblige a renseigner toutes les cases😥😥

Bonjour,

Dans ce cas :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.WorksheetFunction.CountBlank([A1:D2]) = 1 Then Cancel = True: MsgBox "Toutes les cellules ne sont pas renseignées, enregistrement annulé", vbCritical
End Sub

Si une des cases n'est pas renseignée sur la plage A1:D2 (et seulement une) alors on ne peut pas enregistrer.

Cdlt,

Merci pour ton retour Ergotamine

met ca ne repond pas ma question, notre échange ma toute de même permis de résoudre mon problé est je ten remercie

ma solution trouver est la suivante :

Sub controle_vide()

If [D14] = "" And [D16] = "" And [F14] = "" And [F16] = "" And [H14] = "" And [H16] = "" Then
          MsgBox "Information manquante", vbCritical, "ATTENTION"
        Cancel = True
                End If
End Sub
Rechercher des sujets similaires à "vba bloquer enregistrement remplie"