Bonjour le forum
Bonjour Giss & pyrof
Voici qui devrait t'intéresser. C'est le best de ce que j'ai trouvé sur ce forum depuis que j'y navigue.
// Comment obliger l'utilisateur d'un USF à renseigner tous les textbox et les combobox
Auteur @Thierry
Le premier oblige la saisie pour tous les contrôles avec le focus sur le contrôle vide (Par @ Thierry) :
Dim CTRL As Control
For Each CTRL In Me.Controls
If CTRL = "" Then MsgBox "Donnée Incomplete", vbCritical, "ATTENTION CTRL.SetFocus: Exit Sub
Next CTRL
Le second est sélectif, par TextBox ou ComboBox avec le focus sur le contrôle vide
If Nom de ComboBox= "" Then
MsgBox "Le message ", vbCritical, "ATTENTION"
Le nom du ComboBox.SetFocus
Exit Sub
End If
If Nom du TextBox= "" Then
MsgBox "Message ", vbCritical, "ATTENTION"
Nom du TextBox.SetFocus
Exit Sub
End If
Autre possibilité
Il existe aussi la version INPUTBOX qui est intéressante.
If Nom du TextBox.Value = "" Then
Message = "votre message"
Nom du TextBox = InputBox(Message, Title)
End If
Autre possibilité de Laurent TBT
Private Sub TextBox5_Enter()
If TextBox1 = "" Then
MsgBox "La saisie du TextBox1 est obligatoire"
TextBox1.SetFocus
End If
End Sub
Puis
Private Sub TextBox2_Enter()
If TextBox1 = "" Then
MsgBox "La saisie du TextBox1 est obligatoire"
TextBox1.SetFocus
Else if Textbox5="" then
MsgBox "La saisie du TextBox5 est obligatoire"
TextBox5.SetFocus
end if
End Sub
et etc...
Là, il ne peut même pas entrer sur le 5 si le 1 n'est pas saisi, et il est automatiquement renvoyé vers le 1.
De même, il ne peut pas entrer sur le 2 si le 1 où le 5 ne sont pas saisis.
Seul bémol, si un vicieux rentre tout dans l'ordre, puis revient sur le 1 pour tout effacer... Alors il faut re-tester la totalité, par exemple à partir du bouton qui valide toutes les saisies.
@ ++ Eric C