Ajouter un message d'alerte avant d'enregistrer un fichier

Résolu/Fermé
corb3au Messages postés 36 Date d'inscription vendredi 22 septembre 2017 Statut Membre Dernière intervention 27 janvier 2022 - 25 sept. 2017 à 16:58
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 - 29 sept. 2017 à 14:06
Bonjour,

J'ai créé un model Word pour que tous mes collègues puissent l'utiliser sans l'écraser.

Je voudrais ajouter dans ce model un message d'alerte avant qu'ils enregistrent le document pour qu'ils n'oublient pas de mettre à jour les éléments qui en ont besoin.

Est-ce possible?
A voir également:

3 réponses

m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
25 sept. 2017 à 23:28
Bonjour,

Je pense surtout qu'il s'agit d'une mauvaise utilisation du modèle. Si un modèle est correctement utilisé, il n'y a aucun risque de l'écraser...
Onglet Fichier => Nouveau.

Sinon, il faut créer une macro événementielle. Et les événements ne sont pas le fort de Word, contrairement à Excel qui propose une macro événementielle toute prête "BeforeSave".

Voir ici :
https://faqword.com/index.php/word/gestion-des-macros/87-levenement-ce-sontles-evenements

m@rina
1
corb3au Messages postés 36 Date d'inscription vendredi 22 septembre 2017 Statut Membre Dernière intervention 27 janvier 2022
26 sept. 2017 à 18:21
Parfait, encore merci.

J'ai réussi a mettre un message et mettre oui ou non.
Par contre je n'arrive pas à faire en sorte que quand je mets non, je revienne en arrière.
Voici mon code
Dim WithEvents oWdApp As Word.Application

Sub Document_Open()

Set oWdApp = Word.Application

End Sub

Sub oWdApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
If MsgBox("Avez-vous mis à jour le sommaire et les tableaux?", vbYesNo, "Demande de confirmation") = vbYes Then

End If

End Sub
0
corb3au Messages postés 36 Date d'inscription vendredi 22 septembre 2017 Statut Membre Dernière intervention 27 janvier 2022
26 sept. 2017 à 18:29
Ah je viens de me rendre compte qu'en plus avec cette solution, le message se met dans tous mes documents
0
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
27 sept. 2017 à 16:29
Oui mais pour utiliser un modèle, on le met dans le dossier des modèles. Ensuite, on fait Fichier => Nouveau et on choisit le modèle. Donc on crée un nouveau document qui ne risque pas d'écraser le modèle.
0
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
27 sept. 2017 à 01:48
Bonsoir,

J'ai une autre solution beaucoup plus simple qui est de surcharger la commande Word existante. Pour cela il faut nommer la macro FileSave.


Sub FileSave
dim rep
rep=MsgBox("Avez vous blablabla...",4)
If rep = vbNo Then Exit Sub
ActiveDocument.Save
End Sub

Dons à l'enregistrement, le message s'affichera. Si la personne coche Non, on sort de la macro et la personne peut faire ce qu'elle doit faire.
Si elle coche Oui, ça enregistre normalement.

Néanmoins je maintiens que je trouve bizarre cette logique de travailler sur un modèle... Mais je ne dois avoir toutes les clés en main !! :)

m@rina
1
corb3au Messages postés 36 Date d'inscription vendredi 22 septembre 2017 Statut Membre Dernière intervention 27 janvier 2022
27 sept. 2017 à 16:02
Parfait parfait.

J'avais mis le document en modèle pour qu'il n'y ai aucun risque d'écraser le document.
Mais vu vos différentes remarque, je l'ai mis en document normal.
0
corb3au Messages postés 36 Date d'inscription vendredi 22 septembre 2017 Statut Membre Dernière intervention 27 janvier 2022 > corb3au Messages postés 36 Date d'inscription vendredi 22 septembre 2017 Statut Membre Dernière intervention 27 janvier 2022
29 sept. 2017 à 10:34
Je me rappelle maintenant pourquoi j'avais besoins d'utiliser le document en Model, pour pouvoir utiliser les blocs de constructions.
Quand j'enregistrais en normal, mes collègues ne pouvaient pas les voir.
0
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
29 sept. 2017 à 14:06
Donc, c'est un "vrai" modèle qui sert à créer de nouveaux documents ? Il faut donc l'utiliser comme un modèle.
A titre d'infos les blocs de construction ne peuvent s'enregistrer effectivement que dans un modèle (un modèle quelconque, le Normal.dotm, ou un builidng blocks.dotx).
Ce qui est normal vu l'utilisation qui est prévue pour cela, à savoir créer un nouveau document et faire des choix de blocs.
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
25 sept. 2017 à 20:40
Je ne pense pas :
Comment Word va deviner que l'utilisateur s'apprête à enregistrer ?
0