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

Résolu
corb3au Messages postés 37 Statut Membre -  
m@rina Messages postés 27617 Date d'inscription   Statut Modérateur 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?

3 réponses

  1. m@rina Messages postés 27617 Date d'inscription   Statut Modérateur Dernière intervention   11 563
     
    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
    1. corb3au Messages postés 37 Statut Membre
       
      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
    2. corb3au Messages postés 37 Statut Membre
       
      Ah je viens de me rendre compte qu'en plus avec cette solution, le message se met dans tous mes documents
      0
    3. m@rina Messages postés 27617 Date d'inscription   Statut Modérateur Dernière intervention   11 563
       
      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
  2. m@rina Messages postés 27617 Date d'inscription   Statut Modérateur Dernière intervention   11 563
     
    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
    1. corb3au Messages postés 37 Statut Membre
       
      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
      1. corb3au Messages postés 37 Statut Membre > corb3au Messages postés 37 Statut Membre
         
        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
    2. m@rina Messages postés 27617 Date d'inscription   Statut Modérateur Dernière intervention   11 563
       
      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
  3. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Je ne pense pas :
    Comment Word va deviner que l'utilisateur s'apprête à enregistrer ?
    0