Perte des données copier coller après protection du doc en
Résolu
mijean94
Messages postés
413
Date d'inscription
Statut
Membre
Dernière intervention
-
mijean94 Messages postés 413 Date d'inscription Statut Membre Dernière intervention -
mijean94 Messages postés 413 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je travail sous word 2003
Voici mon problème :
J’ai une petite macro qui reproduit ma feuille à la suite de la première page en X fois suivant ma demande.
Au départ mon doc et protégé.
Il n’y a que les champs formulaire accessibles.
Lorsque je lance cette macro tous se passe bien, j’ai bien tous mes exemplaires demandés, mais…
Lorsque le document est reprotégé, je perds toutes les données qui étaient dans les champs du formulaire sur toutes les feuilles !
Avez-vous une solution pour ne pas perdre les informations ?
Voici le code utilisé :
En vous remerciant par avance de votre aide.
Bien cordialement
Je travail sous word 2003
Voici mon problème :
J’ai une petite macro qui reproduit ma feuille à la suite de la première page en X fois suivant ma demande.
Au départ mon doc et protégé.
Il n’y a que les champs formulaire accessibles.
Lorsque je lance cette macro tous se passe bien, j’ai bien tous mes exemplaires demandés, mais…
Lorsque le document est reprotégé, je perds toutes les données qui étaient dans les champs du formulaire sur toutes les feuilles !
Avez-vous une solution pour ne pas perdre les informations ?
Voici le code utilisé :
Sub copier_coller_feuille()
Dim nombre_copie As String 'A voir si as string est ok
nombre_copie = InputBox("combien de document faut-il copier ?") 'La variable reçoit la valeur entrée dans l'InputBox
'retrait protection
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect Password:="jlejle"
End If
'changement couleur papier en vert
ActiveDocument.Background.Fill.ForeColor.RGB = RGB(204, 255, 204)
ActiveDocument.Background.Fill.Visible = msoTrue
ActiveDocument.Background.Fill.Solid
'selection de ma feuille et copie du nombre demandé
Selection.WholeStory
Selection.Copy
For i = 1 To nombre_copie
Selection.PasteAndFormat (wdPasteDefault)
Next i
Selection.TypeBackspace
'protection du document
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, Password:="jlejle"
End If
' changement couleur papier en blanc
ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255)
ActiveDocument.Background.Fill.Visible = msoTrue
ActiveDocument.Background.Fill.Solid
End Sub
>
En vous remerciant par avance de votre aide.
Bien cordialement
2 réponses
-
Bonsoir
Je suis étonnée car c'est un problème qui était connu mais qui a été corrigé depuis la version 2003 à condition, évidemment, qu'elle soit à jour.
Ce n'est pas un bug, juste une fonctionnalité mal réfléchie. Et effectivement, si on verrouillait et qu'on déverrouillait, on perdait le contenu des champs.
Il y a un moyen qui est de verrouiller le ou les champs avec un Ctrl+F11 (déverrouiller : Ctrl+maj+F11) : à utiliser avant de reverrouiller.
Mais il faut quand même savoir une chose : c'est la différence existante entre le bouton "Protéger le formulaire" de la barre d'outils Formulaire et le menu Outils, protéger le document, Formulaire qui agissent de façons différentes :
Le bouton n'efface pas les données alors que le menu les efface... Tout le mystère réside ici !
En macro, il faut vérifier ce que donnent ces touches de raccourci, je n'ai pas cherché. Mais avant de voir la macro, commencez par tester avec touches, manuellement.
m@rina
ps : je n'ai pas 2003 sous le coude, donc c'est ma mémoire qui dicte !!! :)
-
Bonjour
Les macros ne dépendent pas du texte. Il faut ouvrir l'éditeur VBA et copier-coller tes macros.
Et si tu as utilisé l'enregistreur, elles se trouvent par défaut dans le Normal.dot.
m@rina