Signet, textbox et retour à la ligne

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Anacoluthe
Le #1748461
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

claudy
Le #1748459
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" %
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




Anacoluthe
Le #1748456
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

Publicité
Poster une réponse
Anonyme