Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Texte multiligne dans une cellule

4 réponses
Avatar
MPi
Bonjour à tous,

Dans une application, j'utilise un UserForm ayant un Textbox multiligne.
J'envoie le texte entré dans une seule cellule de la feuille.
Dans les propriétés de la cellule, il se crée un "retour à la ligne" grisé.

Jusque là ça va bien.

Le problème est le petit carreau blanc qui s'affiche en guise de saut de
ligne.
J'aimerais bien le voir disparaître...

J'ai essayé avec un
Replace(Texte, vbcrlf, vblf)
ou un
Replace(Texte, vbcrlf, vbCr)
pour voir ce que ça donnait, mais non, ce n'est pas la bonne méthode,
semble-t-il.
J'ai aussi essayé avec Chr(13) et Chr(10), mais c'est pareil...

Si j'édite le texte dans la feuille et que je supprime ces petits carreaux
manuellement, tout est beau, le texte garde sa forme et les petits carreaux,
n'étant plus là, ne se voient plus et ne s'impriment pas. Je me dis qu'il
doit bien y avoir une façon de procéder par code... (?)

Merci à ceux qui m'apporteront quelques idées.

Michel

4 réponses

Avatar
michdenis
Bonsoir MPi,

Tu peux utiliser une des 2 méthodes.

Dans la mesure où ton textbox est multiligne, tu peux aussi modifier la propriété EnterKeyBehavior = true , tu pourras utiliser
Enter pour passer d'une ligne à l'autre.


Salutations!



"MPi" a écrit dans le message de news: 2juMe.34509$
Bonjour à tous,

Dans une application, j'utilise un UserForm ayant un Textbox multiligne.
J'envoie le texte entré dans une seule cellule de la feuille.
Dans les propriétés de la cellule, il se crée un "retour à la ligne" grisé.

Jusque là ça va bien.

Le problème est le petit carreau blanc qui s'affiche en guise de saut de
ligne.
J'aimerais bien le voir disparaître...

J'ai essayé avec un
Replace(Texte, vbcrlf, vblf)
ou un
Replace(Texte, vbcrlf, vbCr)
pour voir ce que ça donnait, mais non, ce n'est pas la bonne méthode,
semble-t-il.
J'ai aussi essayé avec Chr(13) et Chr(10), mais c'est pareil...

Si j'édite le texte dans la feuille et que je supprime ces petits carreaux
manuellement, tout est beau, le texte garde sa forme et les petits carreaux,
n'étant plus là, ne se voient plus et ne s'impriment pas. Je me dis qu'il
doit bien y avoir une façon de procéder par code... (?)

Merci à ceux qui m'apporteront quelques idées.

Michel
Avatar
michdenis
les 2 méthodes :

Range("A2") = _
Application.Substitute(Me.TextBox1, vbCrLf, Chr(10))

Range("A3").Value = _
Application.Substitute(Me.TextBox1, Chr$(13), "")



Salutations!



"MPi" a écrit dans le message de news: 2juMe.34509$
Bonjour à tous,

Dans une application, j'utilise un UserForm ayant un Textbox multiligne.
J'envoie le texte entré dans une seule cellule de la feuille.
Dans les propriétés de la cellule, il se crée un "retour à la ligne" grisé.

Jusque là ça va bien.

Le problème est le petit carreau blanc qui s'affiche en guise de saut de
ligne.
J'aimerais bien le voir disparaître...

J'ai essayé avec un
Replace(Texte, vbcrlf, vblf)
ou un
Replace(Texte, vbcrlf, vbCr)
pour voir ce que ça donnait, mais non, ce n'est pas la bonne méthode,
semble-t-il.
J'ai aussi essayé avec Chr(13) et Chr(10), mais c'est pareil...

Si j'édite le texte dans la feuille et que je supprime ces petits carreaux
manuellement, tout est beau, le texte garde sa forme et les petits carreaux,
n'étant plus là, ne se voient plus et ne s'impriment pas. Je me dis qu'il
doit bien y avoir une façon de procéder par code... (?)

Merci à ceux qui m'apporteront quelques idées.

Michel
Avatar
MPi
Salut,

toujours aussi rapide sur la gachette ?

J'ai bien essayé les 2 méthodes, mais ça ne va pas mieux qu'avec le
Replace...
Toujours ces petits carreaux...

Et pour répondre à ton précédent message, le textbox est bien en multiligne
et EnterKeyBehavior est bien à True

Une autre idée peut-être ?

Est-ce que ça pourrait avoir un rapport avec le formatage de la cellule ou
encore la police ?
(Excel 2000, Win2000)

Michel


"michdenis" a écrit dans le message de
news:%
les 2 méthodes :

Range("A2") = _
Application.Substitute(Me.TextBox1, vbCrLf, Chr(10))

Range("A3").Value = _
Application.Substitute(Me.TextBox1, Chr$(13), "")



Salutations!



"MPi" a écrit dans le message de news:
2juMe.34509$

Bonjour à tous,

Dans une application, j'utilise un UserForm ayant un Textbox multiligne.
J'envoie le texte entré dans une seule cellule de la feuille.
Dans les propriétés de la cellule, il se crée un "retour à la ligne"
grisé.


Jusque là ça va bien.

Le problème est le petit carreau blanc qui s'affiche en guise de saut de
ligne.
J'aimerais bien le voir disparaître...

J'ai essayé avec un
Replace(Texte, vbcrlf, vblf)
ou un
Replace(Texte, vbcrlf, vbCr)
pour voir ce que ça donnait, mais non, ce n'est pas la bonne méthode,
semble-t-il.
J'ai aussi essayé avec Chr(13) et Chr(10), mais c'est pareil...

Si j'édite le texte dans la feuille et que je supprime ces petits carreaux
manuellement, tout est beau, le texte garde sa forme et les petits
carreaux,

n'étant plus là, ne se voient plus et ne s'impriment pas. Je me dis qu'il
doit bien y avoir une façon de procéder par code... (?)

Merci à ceux qui m'apporteront quelques idées.

Michel





Avatar
MPi
Oups,...........désolé
Mauvaise manipulation.

Ça fonctionne très bien finalement.
J'avais fait le test sur la partie qui sauvegardait dans la base de données
et je surveillais la partie affichée...
Pas facile ces journées surchargées ¦¬)

Un gros merci !
Et continue de tirer plus vite que ton ombre...

Michel


"MPi" a écrit dans le message de
news:povMe.34541$
Salut,

toujours aussi rapide sur la gachette ?

J'ai bien essayé les 2 méthodes, mais ça ne va pas mieux qu'avec le
Replace...
Toujours ces petits carreaux...

Et pour répondre à ton précédent message, le textbox est bien en
multiligne

et EnterKeyBehavior est bien à True

Une autre idée peut-être ?

Est-ce que ça pourrait avoir un rapport avec le formatage de la cellule ou
encore la police ?
(Excel 2000, Win2000)

Michel


"michdenis" a écrit dans le message de
news:%
les 2 méthodes :

Range("A2") = _
Application.Substitute(Me.TextBox1, vbCrLf, Chr(10))

Range("A3").Value = _
Application.Substitute(Me.TextBox1, Chr$(13), "")



Salutations!



"MPi" a écrit dans le message de news:
2juMe.34509$

Bonjour à tous,

Dans une application, j'utilise un UserForm ayant un Textbox multiligne.
J'envoie le texte entré dans une seule cellule de la feuille.
Dans les propriétés de la cellule, il se crée un "retour à la ligne"
grisé.


Jusque là ça va bien.

Le problème est le petit carreau blanc qui s'affiche en guise de saut de
ligne.
J'aimerais bien le voir disparaître...

J'ai essayé avec un
Replace(Texte, vbcrlf, vblf)
ou un
Replace(Texte, vbcrlf, vbCr)
pour voir ce que ça donnait, mais non, ce n'est pas la bonne méthode,
semble-t-il.
J'ai aussi essayé avec Chr(13) et Chr(10), mais c'est pareil...

Si j'édite le texte dans la feuille et que je supprime ces petits
carreaux


manuellement, tout est beau, le texte garde sa forme et les petits
carreaux,

n'étant plus là, ne se voient plus et ne s'impriment pas. Je me dis
qu'il


doit bien y avoir une façon de procéder par code... (?)

Merci à ceux qui m'apporteront quelques idées.

Michel