Numéro de la ligne dans un textbox

Contenu du snippet

Ce code permet de donner le numéro de la ligne où se trouve le curseur dans un textbox.
Placer un textbox (Text1) avec les propriété 'MultiLigne=True", "ScrollBars=3 - Both" et un label (Label1) puis copier le code.

Ce code fonctionne mais il ralentit lorsqu'il y a beaucoup de lignes.

Source / Exemple :


Private Sub Text1_Click()
    '*******************************************************
    ' NLigne est à 1 pour la première ligne qui n'est pas
    ' comptée avec cette méthode
    '*******************************************************
    NLigne = 1
    
    '*******************************************************
    ' chr(10) -> saut de ligne
    ' chr(13) -> caractère de retour chariot
    ' chr(10)+chr(13) donne un passage à la ligne suivante
    '*******************************************************
    For X = 1 To Text1.SelStart + 1 Step 2
        If Mid(Text1.Text, X, 1) = Chr(13) Or Mid(Text1.Text, X, 1) = Chr(10) Then NLigne = NLigne + 1
    Next
    '*******************************************************
    ' Text1.selstart permet de compter jusque'à la position
    ' du curseur qui est sur la ligne à numéroter
    '*******************************************************
    ' Step 2 permet de tester un caractère sur deux
    ' ce qui permet d'être un peut plus rapide que
    ' de tester tous les carctères un à un.
    '*******************************************************

Suite:
    '*******************************
    ' Affiche le numéro de la ligne
    '*******************************
    Label1.Caption = "Ligne N°" + Str(NLigne)
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    '*****************************************************
    ' Exécute la fonction qui donne le numéro de la ligne
    '*****************************************************
    Text1_Click
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.