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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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