Bonjour,
J'ai créé un userform avec un nombre variable de textbox. Les utilisateurs doivent ensuite saisir des valeurs numériques ou "B". j'aimerais pouvoir vérifier que ces saisies sont correctes. j'ai bidouillé le code ci-dessous qui vérifie bien la saisie du b et les valeurs numériques, mais n'accepte pas les valeurs décimales
j'ai bien trouvé sur le web des choses sur la fonction instr qui me semblent intéressantes, mais je ne vois pas trop comment adapter ici car cela ne vérifie qu'une seule valeur à chaque fois comme sur le code ci-dessous. Y a t-il une possibilité d'utiliser la fonction instr avec plusieurs variables ?
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 Dim testnum, testb As Boolean testnum = True testb = False Dim nbdom, i As Integer nbdom = Sheets("temp").Range("C18") For i = 1 To nbdom 'validation de la saisie si "B" testb = False If Me.Controls("coeff" & i).Text = "b" Or Me.Controls("coeff" & i).Text = "B" Then testb = True 'validation de la saisie si numérique If testb = False Then With Me.Controls("coeff" & i) If .Value > "" And .Value <> Fix(Val(.Value)) Then .SetFocus Beep MsgBox "Veuillez ne saisir que des chiffres ou un B !", vbOKOnly, " Erreur !" testnum = False Exit For End If End With End If Next i If testnum = True Then 'suite de la procédure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 With Me.Controls("coeff" & i) contenu = .Value x = InStr(1, contenu, "1")
Partager