IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Modification modèle.dotm refuser l'enregistrement via VBA


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Assistant Organisation
    Inscrit en
    Mars 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Assistant Organisation

    Informations forums :
    Inscription : Mars 2023
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Modification modèle.dotm refuser l'enregistrement via VBA
    Bonjour à tous,

    Je me permets de mettre un message car je suis dans une impasse. Je vais tenter d'être le plus clair possible.

    J'ai un modèle WORD.dotm qui permet de créer des lettres types .docx via différents Userform. Ce modèle peut être utilisé par plusieurs utilisateurs en même temps.

    Je travaille sur une évolution permettant à la fin de la création de la lettre d'envoyer celle ci par mail. La contrainte étant que l'utilisateur doit avoir la possibilité de modifier le contenu du document avant envoi.

    J'ai donc intégrer dans mon code VBA la création d'une commandBars personnalisée avec bouton pour lancer la macro d'envoi mail manuellement quand l'utilisateur à fini. Je vous joins le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        'Création de la barre d'outils nommée 'MaBarre'
        Dim CmdBar As CommandBar
        Dim Bouton As CommandBarControl
     
        Set CmdBar = Application.CommandBars.Add("MaBarre", msoBarFloating, , False)
        CmdBar.Visible = True
        CommandBars("MaBarre").Position = msoBarBottom
     
        'Création du bouton
        With CmdBar.Controls.Add(msoControlButton)
            .Style = msoButtonIconAndCaptionBelow
            .OnAction = "EnvoiMailv2"
            .Caption = "EnvoiMail"
            .FaceId = 24
            .TooltipText = "Prepare le mail"
        End With
    Ma commandBars fonctionne très bien. Le problème est que la création de cette commandBars modifie mon modèle et qu'a l'enregistrement j'ai le message "Voulez vous enregistrer les modifications apportées au modèle ?" qui s'affiche à l'utilisateur.

    J'ai essayé de créer la commandBars en amont pour qu'elle fasse partie du modèle soit elle n'est pas présente soit j'ai le message d'enregistrement du modèle, je n'ai pas réussi à trouver un code permettant de répondre NON et que ce soit transparent pour le gestionnaire. J'ai également essayé de créer une macro évènementielle beforesave mais je n'ai pas réussi à la faire fonctionner et elle ne se déclenchait pas.

    Si vous avez une idée je suis à l'écoute de vos propositions, sinon je serais dans l'obligation de supprimer cette évolution.

    J'espère avoir été claire. Je vous remercie.

    Cordialement,

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Lorsque je développe une application avec Word, je mets les procédures VBA ainsi que la construction des CommandBars dans un document suffixé dotm que je place dans le répertoire STARTUP (C:\Users\UserName\AppData\Roaming\Microsoft\Word\STARTUP)
    Cependant lors du passage à Office 365, j'ai rencontré des problèmes avec les CommandBars
    Ma pratique est surtout de piloter Word depuis Excel ou Access, c'est beaucoup plus simple.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Assistant Organisation
    Inscrit en
    Mars 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Assistant Organisation

    Informations forums :
    Inscription : Mars 2023
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre réponse mais ça ne correspond pas trop à mon problème.

    Cordialement,

Discussions similaires

  1. [XL-2007] Mise à jour automatique d'un numéro d'enregistrement via VBA sur Excel
    Par mathieu57300 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/12/2015, 15h18
  2. [WD-2007] Modifier le modèle attaché d'un document via VBA
    Par Golard dans le forum VBA Word
    Réponses: 2
    Dernier message: 15/11/2013, 17h24
  3. Ajout d'un enregistrement via vba
    Par midoparis dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/06/2008, 13h02
  4. [VBA] MAJ d'un enregistrement via un formulaire
    Par Minet dans le forum Access
    Réponses: 5
    Dernier message: 09/03/2006, 20h40
  5. Faire des modifs sur une sheet excel Read Only via VBA
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo