Compter les lignes d'un textbox multiligne [Résolu]

Signaler
Messages postés
3
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
23 août 2005
-
Messages postés
3
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
23 août 2005
-
Je voudrais savoir s'il est possible de connaître le nombre de lignes d'un textbox, sachant que mes retours à la ligne sont des retours chariot automatique rien à voir avec VbCrLf (appui sur la touche entrée).
Merci d'avnace pour vos reponses.

8 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
il faut que tu saches, selon la typo, le nombre de caractères consécutifs pouvant passer sur une seule ligne.
de là, tu comptes le nombre d'espaces, et de caractères "indivisibles", mais çà me semble un peu impossible. si l'utilisateur met une apostrophe non-collée à son mot, ou ponctue mal, tu ne sauras jamais...
(puisque "bonjour 12345 c'est untestbidon blablablabla blabla" peut prendre 2lignes, mais 3 avec un espace après l'apostrophe...)

peut-être y a t'il une propriété ListIndex en multiligne, ou quelque chose du genre, mais j'en doute fort.....
PCPT
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
26
je ne vois pas ce que ça pourrait d'autre que VbCrLf.



Private Sub Command1_Click()

MsgBox UBound(Split(Text1, vbCrLf))

End Sub


Daniel
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
ta touche [entrée] est tout de même un VbCrLf
fait une boucle, tant que VbCrlf est trouvé (i = 0 val=0 tant que....val=instr(val+1, text1, vbcrlf) > 0 alors i=i+1
et tu as 1ligne de + que i.
NB : ne pas oublier de vérifier que le text complet ne finisse pas par VbCrlf (selon tes besoins). sinon, tu auras une ligne de plus, mais elle sera vide....

PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
arf, sacré Split, oui. la méthode de Gobillot est plus simple. (ne pas oublier le NB ci-dessus cependant)
PCPT
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
plus simple oui mais nettement plus couteuse en cycles et en mémoire (là c'est énorme si le texte est gros).
Performance et simplicité vont rarement ensemble.

ciao...
BruNews, MVP VC++
Messages postés
3
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
23 août 2005

Je me suis peut-être mal exprimée, ce que je voulais dire, c'est que j'ai un text = "aaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa aaaaaaa" qui ce trouve dans un TextBox qui est plus petit que mon texte il fait donc un retour automatique du chariot. Seulement quand je veux savoir sur combien de ligne mon text a etait écrit en demandant combien de VbCrLf ou VbCr ont été fait, il me répond qu'il n'y en a aucun. Il y a t il une solution à mon problème?...
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
Si pas de solution direct VB:
nbrLignes = SendMessage(hedit, EM_GETLINECOUNT , 0, 0)

ciao...
BruNews, MVP VC++
Messages postés
3
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
23 août 2005

Merci pcpt, j'ai réussi à faire comme tu m'as dit.
J'ai compté les mots, les espaces ainsi que les VbCr et j'obtiens à tous les coups le nombre de ligne.
Merci à tous pour vos réponses qui m'ont bien aidées...