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 SubMon 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 SubEn 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 FunctionEt 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 SubBonjour,
Merci pour l'astuce.
On en apprend tous les jours avec tes conseils.
Cordialement.