Vérification avant enregistrement

Bonjour,

J'ai un bouton pour enregistrer les données d'un USF vers les feuilles du fichier.

Avant d'enregistrer les données, j'effectue un contrôle pour savoir si les données existent ou sont cohérentes.

Ci-dessous le code:

Private Sub CommandButtonEnregistrement_Click()

If (OptionButton61 = True And (OptionButton63 = False And OptionButton64 = False)) Or (OptionButton61 = True And Me.TextBox70 = "") Or (OptionButton61 = True And Me.TextBox71 = "") Then
MsgBox "Vous devez saisir les informations concernant le X duY", vbCritical
MultiPage1.Value = 1
OptionButton61.SetFocus
Exit Sub
End If

If (Me.TextBox79 <> "" And Me.TextBox80 = "") Or (Me.TextBox79 <> "" And Me.TextBox82 = "") Or (Me.TextBox79 <> "" And Me.TextBox83 = "") Then
MsgBox "Il manque des informations concernant le Z: T ou V ou U", vbCritical
MultiPage1.Value = 1
TextBox79.SetFocus
Exit Sub
End If

EnregistrerDonnées

End Sub

Mon souci est le suivant:

Comme j'ai un grand nombre de contrôle à effectuer, la procédure est trop longue.

J'ai regroupé les vérifications dans une procédure pour arriver au code suivant:

Private Sub CommandButtonEnregistrement_Click()

VérifierDonnées1
VérifierDonnées2
EnregistrerDonnées

End Sub

En faisant cela, à chaque fois qu'une vérification n'est pas valide, je reviens là où l'erreur de saisie se situe, mais l'enregistrement s'effectue.

Comment faire pour que l'enregistrement s'effectue uniquement lorsqu'il n'y a pas de messages d'erreur dans les procédures de vérifications, sans créer de boutons supplémentaires.

Merci pour l'aide que vous pourrez m'apporter

Cordialement

Bonjour

Transforme tes procédures en fonction

Exemple

Function VérifierDonnées1() As Boolean
  If (OptionButton61 = True And (OptionButton63 = False And OptionButton64 = False)) Or (OptionButton61 = True And Me.TextBox70 = "") Or (OptionButton61 = True And Me.TextBox71 = "") Then
    MsgBox "Vous devez saisir les informations concernant le X duY", vbCritical
    MultiPage1.Value = 1
    OptionButton61.SetFocus
    Exit Function
  End If
  VérifierDonnées1 = True
End Function

Et dans le code principal

    Private Sub CommandButtonEnregistrement_Click()

    If VérifierDonnées1 = False Then Exit Sub
    If VérifierDonnées2 = False Then Exit Sub
    EnregistrerDonnées
    End Sub

Bonjour,

Merci pour l'astuce.

On en apprend tous les jours avec tes conseils.

Cordialement.

Rechercher des sujets similaires à "verification enregistrement"