Ajouter un message d'alerte avant d'enregistrer un fichier
Résolu
corb3au
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
m@rina Messages postés 23885 Date d'inscription Statut Contributeur Dernière intervention -
m@rina Messages postés 23885 Date d'inscription Statut Contributeur Dernière intervention -
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?
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:
- Ajouter un message d'alerte avant d'enregistrer un fichier
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Audacity enregistrer son pc - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
3 réponses
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
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
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
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
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.
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.
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