Selstart et sellenght

carter -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    1. 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
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Voilà

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

    0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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