OVH Cloud OVH Cloud

Supprimer des données entrées grace à un signet

3 réponses
Avatar
ericbtz
Novice dans le domaine, je cherche le code qui me permettrait ou en quittant ou en réouvrant mon document d'effacer les données qui ont été rentrées via des textbox se trouvant dans un USF en référence à des signets se trouvant sur le document
Merci d'avance pour votre attention
@++ Ericbtz

3 réponses

Avatar
Guy Moncomble
Bonjour à tous,
dans le message ,

| Novice dans le domaine, je cherche le code qui me permettrait ou en
| quittant ou en réouvrant mon document d'effacer les données qui ont
| été rentrées via des textbox se trouvant dans un USF en référence à
| des signets se trouvant sur le document. Merci d'avance pour votre
| attention. @++ Ericbtz

Je ne vois pas où tu as un problème : si tu sais entrer tes données dans
un signet ( sans le détruire !), tu sais aussi les effacer, ce n'est
qu'une question de contenu. Pour le faire à l'ouverture, une petite
macro autoopen ou autoclose pour la fermeture. Si tu ne sais pas,
reviens.
--
A+

G.M. MVP Word
Avatar
ericbtz
Bonjour Guy Moncomble, bonjour le foru
Si je pose la question, c'est que j'ai rencontré le problème! Donc je m'explique plus clairement: admettons un textbox ou je rentre la valeur "Monsieur X" me rend cette même valeur sur le document au signet "nom". Après avoir sauvegarder le document terminé, quand je vais l'ouvrir à nouveau, la valeur "Monsieur X" se trouvera déjà au signet "nom". Donc si je rentre la valeur "Monsieur Y" je me retrouve sur le document avec "Monsieur XMonsieur Y". En conséquence, c'est pour cela que je demandais quel était le code permettant de remettre la valeur des signets à "0"
Merci d'avance
Avatar
Guy Moncomble
Bonjour à tous,
dans le message ,

| Bonjour Guy Moncomble, bonjour le forum
| Si je pose la question, c'est que j'ai rencontré le problème! Donc je
| m'explique plus clairement: admettons un textbox ou je rentre la
| valeur "Monsieur X" me rend cette même valeur sur le document au
| signet "nom". Après avoir sauvegarder le document terminé, quand je
| vais l'ouvrir à nouveau, la valeur "Monsieur X" se trouvera déjà au
| signet "nom". Donc si je rentre la valeur "Monsieur Y" je me retrouve
| sur le document avec "Monsieur XMonsieur Y". En conséquence, c'est
| pour cela que je demandais quel était le code permettant de remettre
| la valeur des signets à "0". Merci d'avance

Ton explication est encore incomplète car vois-tu lorsque je lis ce que
tu écris à propos des signets, j'ai tendance à penser, à tort
visiblement que le signet recouvre la bonne valeur. Si la valeur
référencée par le signet est bien ce que tu dis, alors je pense que
l'utilisation que tu en fais n'est pas correcte, à mes yeux du moins.
Pour simplifier, je te joins une macro qui remplace le texte d'un
signet, sans le supprimer, quel que soit l'endroit où il se trouve dans
le document actif. Reviens si le problème perdure.

===== Public Sub MajSignet(NomSignet As String, TexteSignet As String)
Dim MyRange As Range, Debut As Long, TypAff As WdViewType, FenAff As
WdSeekView
'Si le signet existe
If ActiveDocument.Bookmarks.Exists(NomSignet) Then
'Où sommes nous au moment de l'appel ? quel est le type d'affichage
?
FenAff = ActiveDocument.ActiveWindow.View.SeekView
TypAff = ActiveDocument.ActiveWindow.View.Type
'Sélection du signet
ActiveDocument.Bookmarks(NomSignet).Select
'Où sommes-nous maintenant ?
If Selection.Information(wdInHeaderFooter) Then
'Il faut revenir en mode page, en-tête ou pied de page ouvert,
sinon marche pas
ActiveWindow.View.Type = wdPrintView
'On resélectionne
ActiveDocument.Bookmarks(NomSignet).Select
End If
Set MyRange = Selection.Range
Debut = MyRange.Start
Selection.Bookmarks(NomSignet).Range.Text = TexteSignet
MyRange.SetRange Debut, Debut + Len(TexteSignet)
' MyRange.Select
Selection.Bookmarks.Add NomSignet, MyRange
End If
'On rétablit la vue initiale
ActiveWindow.ActivePane.View.SeekView = FenAff
ActiveWindow.View.Type = TypAff
End Sub
====
--
A+

G.M. MVP Word

P.-S. Pour Marina : je pense que cette macro remplace avantageusement
celle qui est dans la FAQ, mais c'est peut-être affaire de goût, ou
plutôt de contexte d'utilisation.