TextBox : Petit carré devant chaque saut de ligne

TextBox : Petit carré devant chaque saut de ligne - VB/VBA/VBS - Programmation

Marsh Posté le 19-05-2006 à 21:12:22    

Bonsoir,
Je travaille avec Word 2000. J'ai crée un Texbox. J'ai mis les propriétés Multiline à true et EnterKeyBehavior à true.  
Quand je saisis dans le TextBox et que je fais un retour chariot, il y a un petit carré qui s'affiche devant la nouvelle ligne.  
Quelqu'un peut-il m'aider à me débarrasser des ces petits carrés ?
Merci

Reply

Marsh Posté le 19-05-2006 à 21:12:22   

Reply

Marsh Posté le 20-05-2006 à 08:59:39    

pasque il faut faire chr(10) & chr(13) ou un vbCrLf ... pas l'un sans l'autre
(rq en php \n\r pas l'un sans l'autre)

Reply

Marsh Posté le 20-05-2006 à 11:18:28    

knakes a écrit :

pasque il faut faire chr(10) & chr(13) ou un vbCrLf ... pas l'un sans l'autre
(rq en php \n\r pas l'un sans l'autre)

Bonjour,
Excuse-moi mais je n'ai pas très bien compris.
Si tu pouvais mexpliquer ce qu'il faut faire ça m'arrangerais beaucoup.
merci

Reply

Marsh Posté le 20-05-2006 à 21:21:54    

Ma version de word, je n'ai pas les petits carrés mais ce n'est pas grave.
 
Cherches a capturer l'évènement keypress avec le key = 13 (touche entrée) pour voir ce qui est réellement dans le text box.
 
Après, il suffit de remplacer les petits carrés par un VbCrLf, qui correspond a un retour a la ligne correct
 
(VbCrLf est la composition de Chr(10) & Chr(13) )
 
Style "Ceci est un texte" & VbCrLf & "ceci est la suite" donnera
 
Ceci est un texte
ceci est la suite
 
voilà.

Reply

Marsh Posté le 20-05-2006 à 21:57:55    

Bonsoir  
 
Voici la petite routine que j'ai écrite pour intercepter la touche entrée.
 
Private Sub BoiteTexte_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then SendKeys (vbCrLf)
End Sub

 
Le problème est que dès que je tape la touche entrée, le programme s'arrête. Pas de souris ni curseur. On dirait qu'il execute une boucle sans fin. Pour avoir la main je dois faire Ctrl+Alt+Supp.
 
Je suis très embêté par ce petit problème.  
 
Merci
 

Reply

Marsh Posté le 20-05-2006 à 22:34:51    

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then Me.TextBox1.Text = Me.TextBox1.Text & vbCrLf
End Sub
 
Que donne ceci ?

Reply

Marsh Posté le 20-05-2006 à 23:01:38    

knakes a écrit :

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then Me.TextBox1.Text = Me.TextBox1.Text & vbCrLf
End Sub
 
Que donne ceci ?

Bonsoir,
Ca donne 2 sauts de ligne et toujours les petits carrés devant
Merci

Reply

Marsh Posté le 21-05-2006 à 11:05:03    

Essaies avec Substitute.
Exemple avec excel
 
Range("A1" ) = Application.worksheetFunction.Substitute(textBox1, vbCrLf, Chr(10))
 
A adapter pour ton cas.

Reply

Marsh Posté le 22-05-2006 à 21:21:50    

e2prom a écrit :

Essaies avec Substitute.
Exemple avec excel
 
Range("A1" ) = Application.worksheetFunction.Substitute(textBox1, vbCrLf, Chr(10))
 
A adapter pour ton cas.

Bonsoir,
Substitute n'existant pas, j'ai utilisé la procedure Replace(textbox1,vbCrLf, chr(10)) sans résultat.
Merci quand-même de ta volonté de m'aider.

Reply

Marsh Posté le 27-05-2006 à 00:00:24    

Cdriq a écrit :

Bonsoir,
Substitute n'existant pas, j'ai utilisé la procedure Replace(textbox1,vbCrLf, chr(10)) sans résultat.
Merci quand-même de ta volonté de m'aider.

Bonsoir
Je suis très heureux de vous dire que j'ai fini par trouver.
En fait c'est le chr(10) (dans vbCrLf = Chr(13)+Chr(10) ) qui genait.  
Je l'ai donc supprimé en remplaçant le chr(10) par "".
 
Voici donc le code pour ceux que cela interesse
 
ActiveDocument.FormFields("texte1" ).Result = Replace(TextBox1.Text, Chr(10), "" )
 
Merci à ceux qui ont essayé de m'aider

Reply

Marsh Posté le 27-05-2006 à 00:00:24   

Reply

Marsh Posté le 27-05-2006 à 20:01:34    

nikel et merci d'avoir poster la réponse

Reply

Sujets relatifs:

Leave a Replay

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