Compter nombre de lignes [Résolu]

Signaler
Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010
-
Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010
-
Bonjour,

Que faut utiliser pour compter le nombre de lignes dans un champ texte ?

Merci.

7 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Ben...
Tu as ouvert ton aide en ligne (comme je te le demandais) sur la fonction Split ?
...
MsgBox UBound(Split(toto, vbCrLf)) + 1

te retourne le nombre de lignes réelles que contient la chaine toto

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
67
Salut
Il te faut te placer à la fin du texte et appeler .CurLine :
    Dim MemoPosition As Long
    MemoPosition = TextBox1.SelStart
    TextBox1.SelStart = TextBox1.TextLength
    MsgBox TextBox1.CurLine + 1 ' car ligne 1 = 0 (voir l'aide)
    TextBox1.SelStart = MemoPosition


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Bonjour,
Quel est le type de ton champ texte ? Qu'appelles-tu d'ailleurs exactement un champ texte ? (un champ d'une base de données ou autre chose ?
Si autre chose et une textbox : le nombre de lignes réelles (séparées par un vrai saut de ligne) ou le nombre de lignes apparentes (résultant de l'affichage en fonction de la largeur de ta textbox ) ?
si maintenant il s'agit de compter le nombre de lignes réelles dans une variable, d'où qu'elle provienne :
La fonction split te permet d' "éclater" une chaîne de caractères par rapport à un séparateur. (apparemment un saut de ligne, donc vbcrlf) ===>> tu obtiens un Array dont le Ubound est ce que tu recherches.



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Attention (et un salut à Jack) :
La propriété Curline ne retournera pas le nombre de lignes réelles (séparées par un vrai saut de ligne), mais le nombre de lignes affichées (et donc dépendant de la largeur de la textbox)
Il ne faut pas oublier de donner d'abord le focus à la textbox avant d'utiliser cette propriété.


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010

Bonjour,

Merci pour vos réponses. En fait, j'utilise une textbox qui correspond aux "Notes" dans l'onglet Général situé dans toutes mes fiches contacts sur OUTLOOK.
C'est bien le nombre de lignes réelles (séparées par un vrai saut de ligne) que je voudrais déterminé mais je ne sais pas trop m'y prendre. C'est la première fois que j'utilise VBA.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
Maintenant : j'ignore quel séparateur de lignes utilise OutLook.
Si ce que j'ai écrit plus haut ne vas pas, remplace vbCrlf par vbNewLine


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010

Merci beaucoup pour votre aide !

Bonne journée !