Salut BlacSap, Le Fnake, le Forum
Héhéhé BlackSap, tu vas un peu fort avec la phrase "J'ai créé un UIserForm"... Car je viens de voir ton fichier joint, et je sais très bien qui a écrit ceci ... Bon enfin c'est pas grave...
Donc il faut retourner une valeur Numérique dans la cellule comme ceci
Range("A1") = Cbyte(TextBox1)
Range("A1") = CDbl(TextBox1)
Range("A1") = CInt(TextBox1)
Range("A1") = CLng(TextBox1).... etc mais il faut être sûr que c'est du numérique dans la TextBox sinon plantage....
Tu as différentes méthodes de tests si tu veux être sûr que du numérique a été saisi...
Soluce 1 "Checking à la Validation"
(Ici je prends pour exemple que tu veux de l'Integer (Chiffre Entier de -32,768 to 32,767)...
tu changes ceci dans la fin du code du CommandButton "OK"
Ligne = Sheets("Feuil1").Range("A30").End(xlUp).Row + 1
On Error GoTo ErrorHandler
Cells(Ligne, 1).Value = CInt(TextBox1)
Cells(Ligne, 2).Value = B
Cells(Ligne, 3).Value = C
Cells(Ligne, 4).Value = D
Cells(Ligne, 5).Value = E
Cells(Ligne, 6).Value = F
Cells(Ligne, 7).Value = G
Cells(Ligne, 8).Value = H
Unload UserForm1
Exit Sub
ErrorHandler:
If Err = 13 Then
MsgBox "la valeur n'est pas numérique", vbExclamation, "Thierry's Démo"
Else
MsgBox "Erreur Non Répertoriée", vbExclamation, "Thierry's Démo"
End If
End Sub
End Sub
Soluce 2 "Checking à la Saisie"
Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1) Then
With TextBox2
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1.Text)
End With
Exit Sub
End If
End Sub
Bon fin d'aprèm
@+Thierry