Bloquer un CommandButton Valider et questions sur OptionButton
Bonjour,
Je reviens à vous car je n'arrive pas à me sortir d'une situation. Je ne sais pas si ce sera possible.
J'ai écrit un code qui permet de dire à l'utilisateur attention tel ou tel champs est vide. Je clique sur ok de ma message box , mais je peux quand même valider ma saisie alors que je n'ai pas rempli les champs.
Dois-je utiliser Enabled et le relier par un code ?
De plus dans ce code j'ai 3 optionbuttons, j'en coche un et ma message box m'avertie d'en sélectionner un. Est-ce parce qu'il y en a 3, il faudrait que les 3 soit cochés pour ne pas avoir un message ?
Un autre problème se pose aussi : si je relance mon programme à la suite (sans le fermer, pour le moment j'ai mis unload me donc cela ferme) le dernier optionbutton reste sélectionné. Par conséquent, je ne peux pas le valider pour avoir l'inscription de mes valeurs.
Existe-t-il une propriété ou solution ?
Voici le code de mon test si les champs sont vides :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Sub TestSiVide()
Dim VariTexte
Dim Compt01
Dim optb
VariTexte = ""
Compt01 = 0
'---------------------------------------
If TextBox1.Text = "" Then VariTexte = VariTexte & Chr(10) & "Saisir la Date"
If TextBox2.Text = "" Then VariTexte = VariTexte & Chr(10) & "Saisir le N° de Charge"
If TextBox3.Text = "" Then VariTexte = VariTexte & Chr(10) & "Saisir le N° OF"
If TextBox4.Text = "" Then VariTexte = VariTexte & Chr(10) & "Saisir le N° OP"
If ListBox1.Text = "" Then VariTexte = VariTexte & Chr(10) & "Sélectionner le nombre de pièces"
If ComboBox1.ListIndex = -1 Then VariTexte = VariTexte & Chr(10) & "Sélectionner votre Visa"
'---------------------------------------
For Each optb In UserFormA.Controls
If Left(optb.Name, 7) = "OptionB" Then
If optb.Value = True Then Compt01 = 1
End If
Next
If Compt01 = 0 Then VariTexte = VariTexte & Chr(10) & "Choisir entre trempe, revenu ou autre" ' OptionButton
'---------------------------------------
If VariTexte <> "" Then MsgBox VariTexte: Exit Sub
If Compt01 = 0 Then MsgBox VariTexte: Exit Sub
End Sub |
Et celui de mon code Valider :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Private Sub CommandButton1_Click() 'valider
Dim DateChargement As String, NumeroDeCharge As String, NumeroDOp As String, NumeroOF As String, Nombredepieces As Variant, _
Visa As String
'----------------------------------------------------------------------------------------------------
TestSiVide
'----------------------------------------------------------------------------------------------------
'Appelle de la méthode du module1 pour insérer les valeurs
Call InsererLesDonneesDansLaFeuille(DateChargement, NumeroDeCharge, NumeroOF, NumeroDOp, ListBox1.Value, ComboBox1.Text)
'----------------------------------------------------------------------------------------------------
Unload Me
End Sub |
Je vous remercie par avance de vos futures pistes.
Cordialement