[VBA Excel] garder la mise en forme dans une textbox [RESOLU]

garder la mise en forme dans une textbox [RESOLU] [VBA Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 23-07-2009 à 11:17:09    

Bonjour à tous,  
 
Je vous présente mon problème.
 
J'ai 2 textbox.  
- dans la 1ère je tape un texte
- dans la 2ème, s'affiche le même texte mais codé... (chaque lettre de l'alphabet est remplacée par un signe)
 
Le problème c'est que quand je saute des lignes dans la 1ère boite (grâce à l'option, "EnterKeyBehaviour" ), et que je code ce texte pour l'afficher dans la 2ème, toutes les phrases sont mises à la suite.
 
ex :  
1ère textbox :  
texte normal
texte normal
texte normal
 
j'obtiens :  
texte codé texte codé texte codé
 
au lieu de  
texte codé
texte codé
texte codé
 
J'aimerai donc garder la même mise en forme, c'est à dire garder les sauts de ligne.
 
Comment faire ?
 
Merci


Message édité par kumasan le 23-07-2009 à 16:35:51
Reply

Marsh Posté le 23-07-2009 à 11:17:09   

Reply

Marsh Posté le 23-07-2009 à 12:43:50    

Bonjour
 
Un peu de precision stp, ou sont ces TextBox ? VBA Excel ? VBA Word ? VB ? Access ? Dans une userform ?
 
Ensuite sans ton code pour illustrer ton souci, je dirais que tu n'as qu'à rajouter un chr(10) / chr(13)
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 23-07-2009 à 13:49:57    

Désolé pour le manque de précisions...
 
Alors j'utilise VBA Excel dans une useform.
 
Mon code dans l'Useform est  :  

Code :
  1. Private Sub CommandButton2_Click()
  2.    
  3.     Dim Phrase1 As String, Phrase2 As String
  4.     Dim Caract As String * 1
  5.     Dim i As Integer
  6.    
  7.     Phrase1 = Range("A1" )
  8.     For i = 1 To Len(Phrase1)
  9.         Caract = Mid(Phrase1, i, 1)
  10.         Select Case LCase(Caract)
  11.             Case "a"
  12.             Phrase2 = Phrase2 + "/\"
  13. ....etc pour toutes les lettres
  14.         End Select
  15.     Next i
  16.     Range("A2" ) = Phrase2
  17. End Sub


 
En fait, le texte qui doit apparaître dans le 2eme textbox est généré automatiquement. Je ne sais donc pas où mettre le chr(10)...

Reply

Marsh Posté le 23-07-2009 à 14:15:53    

Et bien il faut tester si le caractere est un retour chariot, si oui remettre un retour chariot. Car, je pense, tu ne dois pas avoir de 'Case Else'
Donc il passe sur le caractere 'fin de ligne' et sur le caractere 'Retour Chariot' et ne les "remplace" pas. Donc forcement, tes mots sont a la suite les uns des autres.
 
Tu fais ton select case :

Code :
  1. Case Chr(13)
  2.      Phrase2= Phrase2 + Chr(13)
  3. Case Chr(10)
  4.      Phrase2= Phrase2 + Chr(10)

Ici, si c'est un fin de ligne ou retour chariot il remet la meme chose
 
ou :

Code :
  1. Case Else
  2.      Phrase2= Phrases + LCase(Caract)

Ici, si c'est un caractere pas prevu dans tes Case, il met le caractere original, Retour chariot, Fin de ligne, espace, tiret etc. Tout ce que tu n'as pas prévu avec tes Case


Message édité par SuppotDeSaTante le 23-07-2009 à 14:19:59

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 23-07-2009 à 14:21:08    

Ca marche !! C'était si simple que ca... encore fallait-il y penser.
 
Merci beaucoup dje69r

Reply

Marsh Posté le 23-07-2009 à 14:27:47    

Reply

Marsh Posté le 23-07-2009 à 14:59:26    

Je voudrais pas faire mon chieur mais :
 
 


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed