Erreur 13, incompatibilité de type
Résolu/Fermé
A voir également:
- Erreur 13, incompatibilité de type
- Erreur 0x80070643 - Accueil - Windows
- Redmi note 13 5g test - Accueil - Téléphones
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Faiblesse type spectre ✓ - Forum Jeux vidéo
1 réponse
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
15 mars 2013 à 14:29
15 mars 2013 à 14:29
Bonjour,
Un textbox renvoie une valeur de type string.
Lorsque tu utilises CInt, tu transformes ce string en Integer.
Ok, pas de souci. Sauf si tu saisis dans ton textbox :
- AB116... Ce dernier n'est pas convertible en nombre entier....
- rien. Lorsque ton textbox est vide, il retourne la valeur "" qui est un string mais n'est pas égal à zéro. "" n'est pas convertible en nombre entier...
Par conséquent, tu devrais n'utiliser que des strings :
ou, si tu ne saisis que des nombres entiers :
j'ai donc ajouté la ligne qui évite le plantag en cas de non saisie :
et viré les " des codes dans la ligne :
Un textbox renvoie une valeur de type string.
Lorsque tu utilises CInt, tu transformes ce string en Integer.
Ok, pas de souci. Sauf si tu saisis dans ton textbox :
- AB116... Ce dernier n'est pas convertible en nombre entier....
- rien. Lorsque ton textbox est vide, il retourne la valeur "" qui est un string mais n'est pas égal à zéro. "" n'est pas convertible en nombre entier...
Par conséquent, tu devrais n'utiliser que des strings :
Private Sub BtnValidationCode_Click() Dim code As String code = TextboxCode.Value If code = "3739" Or code = "1164" Or code = "1994" Or code = "1936" Then Instruction1 Else Instruction 2 End If End Sub
ou, si tu ne saisis que des nombres entiers :
Private Sub BtnValidationCode_Click() Dim code As Integer If TextboxCode = "" Then MsgBox "Saisie obligatoire": Exit Sub code = CInt(TextboxCode.Value) If code = 3739 Or code = 1164 Or code = 1994 Or code = 1936 Then Instruction1 Else Instruction 2 End If End Sub
j'ai donc ajouté la ligne qui évite le plantag en cas de non saisie :
If TextboxCode = "" Then MsgBox "Saisie obligatoire": Exit Sub
et viré les " des codes dans la ligne :
If code = 3739 Or code = 1164 Or code = 1994 Or code = 1936 Then
15 mars 2013 à 16:15