Erreur de compilation

Le
Apitos
Bonjour,

J'ai eu cette erreur de compilation :

Erreur de compilation:
Nombre d'arguments incorrect ou affectation de propriété incorrecte

pour cette procedure :

Private Sub TextBox2_Change()
If Not IsNumeric(TextBox2) And Right(TextBox2, TextBox2.SelStart,
1) <> "," Then
'MsgBox "Le caractere saisi n'est pas valide" & " " & " " &
TextBox2.SelStart & " " & TextBox2.Text[TextBox2.SelStart]
If Not IsEmpty(TextBox2) Then
TextBox2 = Left(TextBox2, Len(TextBox2) - 1)
End If
End If
End Sub


Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Corona
Le #1637562
Bonjour Apitos,
La fonction Right a deux arguments et pas trois.
Right(TextBox2, TextBox2.SelStart) au lieu de Right(TextBox2,
TextBox2.SelStart,1)
Tu auras également un problème dans ton 2ème test si le premier
caractère tapé n'est pas un chiffre
Il vaut mieux tapez ceci
If Len(TextBox2) > 1 Then
TextBox2 = Left(TextBox2, Len(TextBox2) - 1)
Else
TextBox2 = ""
End If
Philippe

"Apitos"
Bonjour,

J'ai eu cette erreur de compilation :

Erreur de compilation:
Nombre d'arguments incorrect ou affectation de propriété incorrecte

pour cette procedure :

Private Sub TextBox2_Change()
If Not IsNumeric(TextBox2) And Right(TextBox2, TextBox2.SelStart,
1) <> "," Then
'MsgBox "Le caractere saisi n'est pas valide" & " " & " " &
TextBox2.SelStart & " " & TextBox2.Text[TextBox2.SelStart]
If Not IsEmpty(TextBox2) Then
TextBox2 = Left(TextBox2, Len(TextBox2) - 1)
End If
End If
End Sub


Merci d'avance.
Apitos
Le #1637558
Merci Philippe.

Je vais essayé avec MID à la place de RIGHT

Je reçois le même type d'erreur lorsque je décommente cette ligne :

MsgBox "Le caractere saisi n'est pas valide" & " " & " " &
TextBox2.SelStart & " " & TextBox2.Text[TextBox2.SelStart]

Ou est l'erreur ?

Merci.
Corona
Le #1637554
Bonjour Apitos,
En utilisant l'événement KeyPress ce ne serait pas plus simple ?
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii ' 46 = .
Case 46, 48 To 57
Case Else
KeyAscii = 0
End Select
End Sub

Et si tu absolument signaler l'erreur à l'utilisateur, ajoute un Beep
' KeyAscii = 0: Beep

Philippe




"Apitos"
Merci Philippe.

Je vais essayé avec MID à la place de RIGHT

Je reçois le même type d'erreur lorsque je décommente cette ligne :

MsgBox "Le caractere saisi n'est pas valide" & " " & " " &
TextBox2.SelStart & " " & TextBox2.Text[TextBox2.SelStart]

Ou est l'erreur ?

Merci.
Corona
Le #1637553
Il y a plus court évidemment. Tout dépend de ce que l'on veut faire.
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 1 To 45, 47, 58 To 255
KeyAscii = 0: Beep
End Select
End Sub


"Corona"
Bonjour Apitos,
En utilisant l'événement KeyPress ce ne serait pas plus simple ?
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii ' 46 = .
Case 46, 48 To 57
Case Else
KeyAscii = 0
End Select
End Sub

Et si tu absolument signaler l'erreur à l'utilisateur, ajoute un Beep '
KeyAscii = 0: Beep

Philippe




"Apitos"
Merci Philippe.

Je vais essayé avec MID à la place de RIGHT

Je reçois le même type d'erreur lorsque je décommente cette ligne :

MsgBox "Le caractere saisi n'est pas valide" & " " & " " &
TextBox2.SelStart & " " & TextBox2.Text[TextBox2.SelStart]

Ou est l'erreur ?

Merci.




Apitos
Le #1640829
Merci Corona.

Je vais m'en servir.
Publicité
Poster une réponse
Anonyme