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

letis21 3 Messages postés vendredi 26 novembre 2004Date d'inscription 23 août 2005 Dernière intervention - 22 août 2005 à 14:51 - Dernière réponse : letis21 3 Messages postés vendredi 26 novembre 2004Date d'inscription 23 août 2005 Dernière intervention
- 23 août 2005 à 12:19
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.
Afficher la suite 

8 réponses

PCPT 13367 Messages postés lundi 13 décembre 2004Date d'inscription 10 mars 2017 Dernière intervention - 22 août 2005 à 17:01
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 22 août 2005 à 15:04
0
Utile
je ne vois pas ce que ça pourrait d'autre que VbCrLf.



Private Sub Command1_Click()

MsgBox UBound(Split(Text1, vbCrLf))

End Sub


Daniel
PCPT 13367 Messages postés lundi 13 décembre 2004Date d'inscription 10 mars 2017 Dernière intervention - 22 août 2005 à 15:10
0
Utile
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
PCPT 13367 Messages postés lundi 13 décembre 2004Date d'inscription 10 mars 2017 Dernière intervention - 22 août 2005 à 15:11
0
Utile
arf, sacré Split, oui. la méthode de Gobillot est plus simple. (ne pas oublier le NB ci-dessus cependant)
PCPT
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 22 août 2005 à 15:19
0
Utile
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++
letis21 3 Messages postés vendredi 26 novembre 2004Date d'inscription 23 août 2005 Dernière intervention - 22 août 2005 à 16:27
0
Utile
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?...
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 22 août 2005 à 17:01
0
Utile
Si pas de solution direct VB:
nbrLignes = SendMessage(hedit, EM_GETLINECOUNT , 0, 0)

ciao...
BruNews, MVP VC++
letis21 3 Messages postés vendredi 26 novembre 2004Date d'inscription 23 août 2005 Dernière intervention - 23 août 2005 à 12:19
0
Utile
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...

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.