TextBox : Petit carré devant chaque saut de ligne - VB/VBA/VBS - Programmation
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)
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 |
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
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à.
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
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 ?
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) |
Bonsoir,
Ca donne 2 sauts de ligne et toujours les petits carrés devant
Merci
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.
Marsh Posté le 22-05-2006 à 21:21:50
e2prom a écrit : Essaies avec Substitute. |
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.
Marsh Posté le 27-05-2006 à 00:00:24
Cdriq a écrit : Bonsoir, |
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
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