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

Signet, textbox et retour à la ligne

3 réponses
Avatar
claudy
Bonjour,
dans mon doc, j'ai un signet qui est rempli par un textbox
Si mon textbox ne présente qu'une seule ligne, ça marche bien.
Mais si je fait un retour à la ligne dans mon textbox, le contenu s'affiche
tel que dans mon Textbox mais mon signet est supprimé !
Comment empêcher cette suppression?
Merci d'avance,
Claudy

3 réponses

Avatar
Anacoluthe
Bonjour !

'claudy' nous a écrit ...
dans mon doc, j'ai un signet qui est rempli par un textbox
Si mon textbox ne présente qu'une seule ligne, ça marche bien.
Mais si je fait un retour à la ligne dans mon textbox, le contenu s'affiche
tel que dans mon Textbox mais mon signet est supprimé !
Comment empêcher cette suppression?


Si vous placez du texte /dans/ un signet, le signet est toujours supprimé.
Utilisez une fonction (voir dans la FAQ) qui réanime le signet sitôt rempli.
L'autre solution consiste à utiliser un signet vide et à /placer/ le texte
/après/ ce signet-marque. Cette 2ème méthode n'est pas valable si
vous devez par la suite /remplacer/ ce texte.

Anacoluthe
« Le champ du signe. »
- Umberto ECO

Avatar
claudy
Merci, j'utilise ceci:
' *** Utilisation des signets *** ' *******************************
Public Sub RemplirSignet(S As String, T As String)
' Remplit le signet S avec le texte T sans détruire S

On Error GoTo rien
Dim Place As Long
Place = ActiveDocument.Bookmarks(S).Range.Start
ActiveDocument.Bookmarks(S).Range.Text = T
ActiveDocument.Bookmarks.Add Name:=S, _
Range:¬tiveDocument.Range(Place, Place + Len(T))

rien:
End Sub

Il y d'autres textbox ou combobox dans mon USF, et je n'ai pas de problème
C'est uniquement avec ce dernier textbox, lorsque j' y fait des retours à la
ligne!
A+
Claudy

"Anacoluthe" a écrit dans le message de news:
%
Bonjour !

'claudy' nous a écrit ...
dans mon doc, j'ai un signet qui est rempli par un textbox
Si mon textbox ne présente qu'une seule ligne, ça marche bien.
Mais si je fait un retour à la ligne dans mon textbox, le contenu
s'affiche tel que dans mon Textbox mais mon signet est supprimé !
Comment empêcher cette suppression?


Si vous placez du texte /dans/ un signet, le signet est toujours supprimé.
Utilisez une fonction (voir dans la FAQ) qui réanime le signet sitôt
rempli.
L'autre solution consiste à utiliser un signet vide et à /placer/ le texte
/après/ ce signet-marque. Cette 2ème méthode n'est pas valable si
vous devez par la suite /remplacer/ ce texte.

Anacoluthe
« Le champ du signe. »
- Umberto ECO




Avatar
Anacoluthe
Bonjour !

'claudy' nous a écrit ...
Il y d'autres textbox ou combobox dans mon USF, et je n'ai pas de problème
C'est uniquement avec ce dernier textbox, lorsque j' y fait des retours à la
ligne!


Dans un contrôle TextBox un saut de ligne comporte un caractère LF (12) en trop
alors que Word se contente d'un caractère CR (13) dans ses chaînes de
caractères. D'où divers désagréments...

Dans une récente ficelle JMM21 ajoute une instruction pour virer
ces caractères en trop s'ils existent dans la chaîne T :

Public Sub RemplirSignet(S As String, T As String)
' Remplit le signet S avec le texte T sans détruire S
On Error GoTo rien
Dim Place As Long
Place = ActiveDocument.Bookmarks(S).Range.Start
T = Replace(T, vbLf, "") ' <-- ici : supprime les LF
ActiveDocument.Bookmarks(S).Range.Text = T
ActiveDocument.Bookmarks.Add Name:=S, _
Range:¬tiveDocument.Range(Place, Place + Len(T))
rien:
End Sub

C'est mieux ?

Anacoluthe
« Le champ du signe. »
- Umberto ECO