Comment insérer du texte dans un signet sans le détruire.
Insérer du texte dans un signet détruit ce signet, mais si l'on mémorise la position de départ du signet et l'on calcule la position de fin du signet, il est possible de remettre le signet sur le texte que l'on vient d'insérer.
On n'évite pas la destruction, mais l'on remet le signet sur son emplacement de départ.
Avec l'appel de la procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Public Sub RemplacerBM(idBM As Integer, TexteBM As String) Dim bs As Integer Dim stTemp As String Dim stBM As String Dim rng As Range 'Détection de la position de début du signet bs = ActiveDocument.Bookmarks(idBM).Start 'Récupération du nom du signet avent destruction stBM = ActiveDocument.Bookmarks(idBM).Name 'Ecriture du texte ActiveDocument.Bookmarks(idBM).Range.Text = TexteBM 'Affectation d'une plage de document à un objet range 'Le départ bs et la fin étant bs augmenté de la longueur du texte inséré Set rng = Range(Start:=bs, End:=bs + Len(TexteBM)) 'Ajout du Signet sur la plage de document Selection.Bookmarks.Add Name:=stBM, Range:=rng End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub InsererTexte() RemplacerBM 1, "Mon texte à moi" End Sub
Partager