Rendre impossible de supprimer texte dans un signet

piloum Messages postés 3 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 28 avril 2006 - 28 avril 2006 à 16:16
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 - 28 avril 2006 à 17:14
Bonjour,

J'ai un document qui contient de nombreux signets. Malheureusement, les utilisateurs suppriment le contenu du signet ou même le début ou la fin ce qui implique des erreurs d'exécution puisque le signet existe partiellement. Je voudrais pouvoir supprimer ce problème. Le hic c'est que ej ne connais pas beaucoup le VB.
Merci de votre aide.
Piloum

6 réponses

cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
28 avril 2006 à 16:31
Bonjour

Je ne vois pas comment empécher les utilisateurs d'écraser des signer.
C'est pourquoi ayant aussi créés autrefois des trames avec signets je les ai remplacées par des écrans de saisie (form) codées en VB avec un outil pour remettre à jour les champs de saisis. Les champs saisis sont stocvkées dans des propriétés personnalisés qui sont ensuite rappelées avec des champs DOCPROPERTY.
Ainsi les documents ne se trouvent pas avec des "Erreur: signet introuvable" sur des renvois.
C'est l'expérience quii parle et le travail pour un document est déjà important donc s'il y a plusieurs documents il sera utile de factoriser le travail à faire.
0
piloum Messages postés 3 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 28 avril 2006
28 avril 2006 à 16:37
le hic c'est que c'est un document qui fait plus de 55 pages et comprend plus de 200 signets qui sont affichés si l'utilisateur a ou non coché une case.... Il faudrait garder le même principe et je ne vois aps comment je peux à l'aide de textbox et de formulaire, je peux rendre le même effet. Si vous auriez un petit exemple, ca m'aiderait beaucoup.
Je n'y connais absolument rien et c'est surtout pour en estimer la charge de boulot derrière.

Merci.
Piloum
0
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
28 avril 2006 à 16:45
s'agit t'il d'un questionnaire sous Word (ou excel : STP quel type de modèle) envoyé à plusieurs personnes dont il faut analyser les réponses.

Controler qu'aucun des signets n'est écrasé serait t'il une soilution pour que l'utilisateur redemande un formulaire vierge?
0
piloum Messages postés 3 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 28 avril 2006
28 avril 2006 à 16:51
En fait, il s'agit d'un document word avec des cases à cocher qui permettent à l'utilisateur de dire si il veut ou non afficher une partie du texte (mise dans des signets). Ensuite l'utilisateur génère directement un autre document qui ne contient que ce qu'il souhaite à partir du modèle et de ses choix.  Cette dernière partie ne doit pas être modifiée.
Seul le problème des signets introuvables doit être réglé en priorité. Je cherchais donc une solution simple même si fastidieuse (je pourrais déléguer)

Si ca peut faire avancer le chemilblik....
Merci de ton aide.
Piloum
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
28 avril 2006 à 17:12
tester si un signet existe en VBA

Je verrai bien quelque chose comme ça qu'il reste à adapter
Si il y a un des signets inexistants alors la fonction
Dim Liste(10) as string

Sub main
Dim b as booelan
Liste(1)="signet1"
Liste(2)="signet2"
...
Liste(10)="Signet10"
b= DefautDeSignets(Liste())
If b=True then MsgBox "Il manque une case à cocher dans le document"
If b=False then MsgBox "Document bien rempli, félicitations"
End sub

Sub DefautDeSignets(ByRef ListeSignets() as string) as boolean
Dim i as integer
i=1
DefautDeSIgnets = False
While i<Ubound(ListeSignets()) and DefautDeSignets=False
If ActiveDocument.Bookmarks.Exists("NomSignet1") = False Then
DefautDeSIgnets =True
end if
Wend
End sub
0
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
28 avril 2006 à 17:14
Attention, j'ai oublié l'icrément dans la boucle While...Wend
i=i+1
0
Rejoignez-nous