Textbox multiligne [Résolu]

Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 19 janv. 2007 à 12:29 - Dernière réponse :
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 20 janv. 2007 à 10:38
comment afficher les différentes lignes d'une textbox multigne dans différent label en cliquant sur un bouton de commande (chaque ligne = 1 label)
Afficher la suite 

Votre réponse

19 réponses

Meilleure réponse
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
- 19 janv. 2007 à 23:59
3
Merci
JMF,
si je me fie aux précédents messages parlant de UserForm1... j'en conclus qu'il est sous Excel...

Titil64,
si c'est le cas, tu devrais poser tes questions sur le Forum dédié à VBA

Sinon, veuillez ignorer mon commentaire...

MPi

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_MPi
Messages postés
8
Date d'inscription
mardi 21 janvier 2003
Dernière intervention
24 janvier 2007
- 19 janv. 2007 à 12:40
0
Merci
Bounjour,
Tu ajoute un label à ta form (apelons le label1)
tu lui fais un copier-coller et tu repond oui à vb pour que ça soit un tableau
ensuite tu suprime label1(1) (on garde label1(0) seul)
si Text1 et ton textbox multilgne; alors voici le code du bouton :

Private Sub Command1_Click()
    tabb = Split(Text1, vbCrLf)
    For i = 0 To UBound(tabb)
    Load Label1(i + 1)
    Label1(i + 1).Visible = True
    Label1(i + 1).Top = Label1(i).Top + 350
    Label1(i + 1).Caption = tabb(i)
    Next
End Sub
Commenter la réponse de cs_mouadkrt
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 janv. 2007 à 12:49
0
Merci
Très bien, 38457 mouadkrt,.....

Mais j'ai en ce qui me concerne une question de base :
Qu'entend =266875 titil64  par lignes d'une textbox ?

1) les lignes "réelles" (séparées en effet par des vbcrlf) ?
2) les lignes "apparentes" (résultant de la gestion de l'affichage dans une textbox) ?

Si c'est la réponse 2 : couic ! ..... (il faudra traiter bien autrement ....)
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 19 janv. 2007 à 13:56
0
Merci
dsl mais c'est la réponse 2 lol alors comment peut on faire ?
Commenter la réponse de titil64
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 janv. 2007 à 14:48
0
Merci
T'intéresser à ceci... analyser... comprendre... adapter à ton cas ...

Private Declare Function SendMessageAsLong Lib "user32" _
     Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
     ByVal wParam As Long, ByVal lParam As Long) As Long
Const EM_GETLINECOUNT = 186




Private Sub Command1_Click()
    Dim lCount As Long
    lCount = SendMessageAsLong(Text1.hWnd, EM_GETLINECOUNT, 0, 0)
    MsgBox lCount
End Sub


Amuse-toi bien !
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 19 janv. 2007 à 14:50
0
Merci
merci mais je ne comprend po ton algo tu peux me l'expilquer ? stp merci
Commenter la réponse de titil64
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 janv. 2007 à 14:56
0
Merci
Ce n'est pas un algo, c'est du code ! Et il fait appel à une fonction de l'API de Windows !


Si c'est trop dur pour toi, tu as une autre possibilité (mais il te faudra te montrer fort en Maths) : utiliser Texwidth et TextHeiht, une boucle lente et beaucoup de calculs.


Une petite réflexion : celà ne sert rigoureusement à rien professionnellement ... et ne peut qu'être un exercice de cours...


Alors ?
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 19 janv. 2007 à 14:58
0
Merci
je vois en effet mais comme je ne comprend po le code que tu m'a mis je ne sais po où lui dire d'envoyer ma ligne copié ?
Commenter la réponse de titil64
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 janv. 2007 à 15:04
0
Merci
Alors laisse tomber et calcule avec textwidth et textheight (vois ces mots dans ton aise en ligne et bons calculs)
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 19 janv. 2007 à 15:07
0
Merci
mais tu m'ecris un code explique moi vite fait ce qu'il fait et aprés je regarderai c'est toujours intérréssant de connaitre des codes nouveaux ,non?
Commenter la réponse de titil64
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 janv. 2007 à 15:13
0
Merci
Ecoute, tu commences par l'essayer :

Un projet avec une Form et une textbox multiligne Text1 et un bouton de command Command1

tu lances ===>>> tu écris plusieurs lignes dans ta textbox  ===>> tu cliques sur command1 ===>> tu regardes le message reçu ===>> tu en tires des conclusions ===>> tu commences à réfléchir à un mécanisme à mettre en place pour atteindre ton but en profitant de ce que tu as découvert là !

C'est loin d'être difficile et c'est TON excercice, que je ne vais surtout pas faire à TA place !
Et ce sera TA note, pas la mienne, bien évidemment...
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 19 janv. 2007 à 15:24
0
Merci
je ne suis plus à l'école mais merci qd meme je le fait pour le plaisir mais bon!

et au fait je n'ai rien qui s'affiche alors c'est peut etre pour ça que je ne comprends po
Commenter la réponse de titil64
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 janv. 2007 à 18:01
0
Merci
Si tu n'as rien qui s'affiche, celà veut dire que :

-soit tu n'as pas mis cette ligne là :
MsgBox lCount
-soit tu as mal orthographié lCount quelquepart !

Fais donc un copier-coller, celà vaudra mieux !
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 19 janv. 2007 à 19:48
0
Merci
j'ai tout bien ecris mais il me met 
Private Declare Function SendMessageAsLong Lib "user32" _
     Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
     ByVal wParam As Long, ByVal lParam As Long) As Long
Const EM_GETLINECOUNT = 186


Private Sub CommandButton1_Click()
    Dim lCount As Long
    lCount = SendMessageAsLong(Text1.hWnd, EM_GETLINECOUNT, 0, 0)
    MsgBox lCount


End Sub

il me marque erreur de compilation 
membre de méthode ou de données introuvable 

et me surligne 
Private Sub CommandButton1_Click()
et 
.hWnd.
Commenter la réponse de titil64
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 janv. 2007 à 22:17
0
Merci
Ah oui ?

1) j'espère que tu as ajouté une textbox multiligne nommée Text1 et que tu y a frappé du texte avant de cliquer sur ton bouton de commande

2) j'espère que tu as bien un bouton de commande nommé CommandButton1

3) j'espère que tu développe bien sous VB6 (ou VB5) .... forum ur lequel tu es ...


Cherche donc la faille !

Si, comme je l'espère, tu es vraiment sous VB6, fais un tout petit projet, avec ce que je t'ai dit plus haut et le code (par copier-coller) que je t'ai donné plus haut !
Si tu n'es pas sous VB6 ou VB5 : sans commentaires !....
Commenter la réponse de jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 20 janv. 2007 à 00:19
0
Merci
Merci beaucoup

MPI (je commençais à me douter d'un truc de ce genre ! )

Mais je n'ai pas pensé à scruter toutes ses autres discussions (dans la présente : aucun indice de VBA ! )

Je ne vais pas continuer avec lui dans te telles conditions !
Et ce d'autant qu'il n'a pas non plus TextWidth avec VBA (si je ne me trompe pas) et qu'il lui faudrait pour celà aussi utiliser une autre fonction de l'API de Windows (... et j'ai bien l'impression, maintenant, qu'il serait vain de tenter une telle aventure compte tenu du niveau apparent que montrent les autres discussions qu'il a ouvertes..)

Bonne chance titil64 et étudie bien ...
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 20 janv. 2007 à 09:52
0
Merci
jmfmmarques

merci de ses commentaires qui font avancer tout le monde .
Tu sais on ne peut pas etre doué comme toi alors s'il te plait soit un peu plus aimable et arrete de me prendre pour un "con" merci.
et depuis que je suis sur le site je n'ai fait que du VBA alors quand tu intervient sur une question, lit au moins les topics précedent au lieu de donner une solution et aprés de me critiquer.

sur ceux
MPI merci je n'avais pas vu qu'il y avait un forum VBA
Commenter la réponse de titil64
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 20 janv. 2007 à 10:36
0
Merci
"...lit au moins les topics précedent..."




Non mais.... !
Ca va bien ta tête, là, tu es sûr  ?
Voilà maintenant qu'il faut fouiller dans les "topics" d'un forumeur pour savoir (car il ne le dit pas dans la discussion ouverte), sous quel langage il développe l'objet de sa discussion ?

Mis à part l'aspect "nombriliste" de cette suggestion... Te viendrait-il à l'idée qu'un même forumeur peut développer ici sous VBA et là sous VB... et là encore sous VB.NET ?
Tu vas bien, oui ?
Commenter la réponse de jmfmarques
Messages postés
67
Date d'inscription
dimanche 25 avril 2004
Dernière intervention
5 février 2007
- 20 janv. 2007 à 10:38
0
Merci
on est d'accord tu as raison
c'est bien
Commenter la réponse de titil64

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.