Selstart et sellenght

carter -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Private Sub cmdAfficher_Click()
Dim A As Integer
Dim b As String
Dim K As Integer
A = Len(Text1.Text)
For K = 1 To A
    b = Mid(Text1.Text, K, 1)
    If b < "a" Or b > "z" Then
        MsgBox "Erreur", vbCritical
        Text1.SetFocus
        Text1.SelStart = K - 1 
        Text1.SelLength =?
        Exit Sub
    End If
Next K
MsgBox "OK"
Text1.SetFocus
Text1.Text = ""
End Sub


quelq'un peut m'aider pour selectionner le(s) premier erreur ?
ex: lorsque j'ecris bonjour12345atous6521 dans le textbox , les chiffres 12345 sera sélectionner

EDIT: Ajout de la coloration syntaxique.

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Pour répondre à ta question:

ex: lorsque j'ecris bonjour12345atous6521 dans le textbox , les chiffres 12345 sera sélectionner


With TextBox1
    .SetFocus
    .SelStart = 7
    .SelLength = 5
End With


@+ Le Pivert
0
carter
 
merci a toi mais si je change la place du chiffre 12345, ça fonctionne plus. faut qu'il soit automatique. mon problème c'est la fin de la sélection vue que j'ai déjà fait le début du sélection (K-1).
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Voilà

Dim position As Integer
position = InStr(1, TextBox1, "1", 0)
With TextBox1
    .SetFocus
    .SelStart = position - 1
    .SelLength = 5
End With

0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Quand je lis ceci:

mon problème c'est la fin de la sélection vue que j'ai déjà fait le début du sélection (K-1).

Sait-tu ce que signifie:

.SelLength

c'est la longueur du texte à sélectionner!

Tu la connaît 12345 cela fait 5 caractères

Là je ne vois pas où est le problème!!!!!!!
0