bonjour à tous,
d'abord merci à Thierry et Mydearfriend pour leur aide.
Ils fonctionnent avec des valeurs numériques, cependant celui de Thierry, si on reclique par inadvertance dans un textbox, il valide la saisie.
Les deux programmes fonctionnent, j'ai mélangé un peu les deux pour pouvoir les adapter à mon programme.
bien sûr option explicit est présent
(des optionbutton, j' en ai 32) don 32x cette procédure avec les réferences qui change .
Private Sub OptionButton2_Click()
If CheckBox1 = True Then
TextBox11.Value = Sheets("DEMANDE ET RESPONSABLES").Range("d3").Value
Else
TextBox11.Value = Sheets("DEMANDE ET RESPONSABLES").Range("e3").Value
End If
End Sub
je dois répeter 10 fois cette procédure (TextBox1, Textbox2,.......TextBox10)
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Static flag As Boolean
If Not flag Then
flag = True
TextBox11.Text = Val(TextBox11) + 1
End If
End Sub
j'ai pensé à un module de classe TxtBoxClasse
Public WithEvents TxtBox as MSForms.TextBox
Private Sub TxtBox_KeyPress(Byval keyAscii as MSForms.returinteger)
Static flag As Boolean
If Not flag Then
flag = True
TextBox11.Text = Val(TextBox11) + 1
End If
End Sub
Puis dans mon userform_Initialize
dim TxtBoxClasses (1 to 10) as TxtBoxClasse
dim i as integer
for i=1 to 10
Set TxtBoxClasses(i)=New TxtBoxClasse
set TxtBoxClasses(i).TxtBox= Userform1.Controls("TextBox" & i)
next i
end sub
Cependant il ne reconnait pas textbox11 dans le module de classe et je ne sais pas comment le déclarer.
Quelqu'un a une idée??????
merci et bonne soirée