Erreur 13 :incompatibilité type - VB/VBA/VBS - Programmation
Marsh Posté le 24-08-2010 à 11:23:47
Ah, c'est de l'Excel !
Pour faire un test, est ce que la même erreur apparait avec seulement
Range("D1" ).Value = CDec(Range("D1" ).Value) |
Je soupçonne que le problème vient du "- TextBox3 ".
Comme son nom l'indique, une textbox contient normalement du texte, et non pas un nombre.
Mais VB est souple, et utilise souvent des données de type Variant.
Je crois que c'est ce qui se passe sur la ligne
TextBox3.Value = x |
Cette ligne aurait dû donner une erreur, si VB n'était pas souple, car on ne devrait pas mettre un nombre là où il faudrait avoir une chaine de caractères.
Il aurait mieux value faire
TextBox3.Value = CStr(x) |
Ensuite, dans la formule qui ne marche pas, c'est peut-être parce, dans ce cas-là VB, serait moins souple.
Essayer :
Range("D1" ).Value = CDec(Range("D1" ).Value) - CDbl(TextBox3.Value) |
Marsh Posté le 24-08-2010 à 12:08:55
J'ai essayé et ca me met toujours pareil pour la ligne Range("D1" ).Value = CDec(Range("D1" ).Value) - CDbl(TextBox3.Value)
Une autre idée?
En fait, j'ai examen demain ^^
Marsh Posté le 25-08-2010 à 10:21:41
Une autre idée, c'est que si D1 est au format d'une chaine, alors on peut essayer
Range("D1" ).Value = CStr(CDec(Range("D1" ).Value) - CDbl(TextBox3.Value)) |
De toutes manières, c'est un problème de types, donc il faut essayer toutes les conversions possibles. On peut aussi essayer des trucs plus simples, juste pour débugger, par exemple Range("D1" ).Value = 123 ou Range("D1" ).Value = "abdc".
Marsh Posté le 24-08-2010 à 10:41:33
Bonjour!
Alors voilà, je n'arrive pas à retirer un nombre d'une textbox d'un nombre dans une cellule de ma page. J'ai une erreur d'incompatibilité type (erreur 13)
Voici le code, et en rouge là où ca me pose problème
Private Sub CommandButton1_Click()
Dim x As Integer
If TextBox1.Value = "" Then
TextBox1.Value = 0
Else
If TextBox2.Value = "" Then
TextBox2.Value = 0
End If
End If
x = CDbl(Me.TextBox1) + CDbl(Me.TextBox2)
TextBox3.Value = x
Sheets("Feuil1" ).Select
Range("D1" ).Value = CDec(Range("D1" ).Value) - TextBox3
End Sub
Merci d'avance!!!