Deprecated: RegularLabs\Library\ArrayHelper::implode(): Implicitly marking parameter $last_glue as nullable is deprecated, the explicit nullable type must be used instead in /homepages/10/d550841420/htdocs/libraries/regularlabs/src/ArrayHelper.php on line 225 Gestion des macroshttp://download.faqword.com/index.php/word/gestion-des-macros2026-02-16T09:01:00+00:00m@rinaJoomla! - Open Source Content Management Comment insérer une attente (dans un module VBA-word) entre 2 instructions ?2024-04-30T11:27:28+00:002024-04-30T11:27:28+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-inserer-une-attente-dans-un-module-vba-word-entre-2-instructionsmathias marina<p> </p>
<p>Vous pouvez utilisez la méthode OnTime prévue pour faire démarrer la macro à une heure donnée.</p>
<p>Cette méthode va permettre également de faire une pause dans une macro, en définissant un laps de temps avant la reprise..</p>
<p>La syntaxe est la suivante :</p>
<p><span style="font-family: 'courier new';">Application.OnTime(<span style="color: #0000ff;">When</span>, <span style="color: #0000ff;">Name</span>, Tolerance)</span></p>
<p>L'argument When détermine l'heure à laquelle la macro va reprendre. On va donc utiliser la fonction Now à laquelle on va ajouter le laps de temps souhaité.</p>
<p>L'agument Name demande le nom de la macro à exécuter. Ce qui signifie qu'il faudra donc deux macros, l'une pour le début du code et l'autre pour la fin du code après la pause.</p>
<p>L'argument Tolérance permet d'annuler la macro. C'est la durée maximale (en secondes) pouvant s'écouler avant l'annulation de la seconde macro tant qu'elle n'a pas été exécutée.</p>
<p><br>L'exemple ci-dessous montre affiche un message, puis attend 20 secondes avant d'afficher le seconde message compris dans la seconde macro.</p>
<p><span style="font-family: 'Courier New';"><span style="font-family: 'courier new';"><span style="color: #0000ff;"><span style="font-family: 'Courier New';"><span style="font-family: 'courier new';">Sub Macro1()<br>MsgBox <span style="color: #800080;">"Ceci est le début de la macro, lorsque vous appuierez sur OK,"</span> <span style="color: #ff8000;">&</span> _<br><span style="color: #800080;">" vous attendrez 20 secondes que la macro reprenne"</span><br><span style="color: #008000;">' Pause de 20 seconds.</span><br>Application.OnTime When:=Now <span style="color: #ff8000;">+</span> TimeValue(<span style="color: #800080;">"00:00:20"</span>), _<br>Name:=<span style="color: #800080;">"Macro2"</span><br><br>End Sub<br><br>Public Sub Macro2()<br>MsgBox <span style="color: #800080;">"la seconde macro reprend : Ce message s'affiche 20 secondes après le premier"</span><br>End Sub</span></span></span></span></span></p>
<p> </p>
<p> </p><p> </p>
<p>Vous pouvez utilisez la méthode OnTime prévue pour faire démarrer la macro à une heure donnée.</p>
<p>Cette méthode va permettre également de faire une pause dans une macro, en définissant un laps de temps avant la reprise..</p>
<p>La syntaxe est la suivante :</p>
<p><span style="font-family: 'courier new';">Application.OnTime(<span style="color: #0000ff;">When</span>, <span style="color: #0000ff;">Name</span>, Tolerance)</span></p>
<p>L'argument When détermine l'heure à laquelle la macro va reprendre. On va donc utiliser la fonction Now à laquelle on va ajouter le laps de temps souhaité.</p>
<p>L'agument Name demande le nom de la macro à exécuter. Ce qui signifie qu'il faudra donc deux macros, l'une pour le début du code et l'autre pour la fin du code après la pause.</p>
<p>L'argument Tolérance permet d'annuler la macro. C'est la durée maximale (en secondes) pouvant s'écouler avant l'annulation de la seconde macro tant qu'elle n'a pas été exécutée.</p>
<p><br>L'exemple ci-dessous montre affiche un message, puis attend 20 secondes avant d'afficher le seconde message compris dans la seconde macro.</p>
<p><span style="font-family: 'Courier New';"><span style="font-family: 'courier new';"><span style="color: #0000ff;"><span style="font-family: 'Courier New';"><span style="font-family: 'courier new';">Sub Macro1()<br>MsgBox <span style="color: #800080;">"Ceci est le début de la macro, lorsque vous appuierez sur OK,"</span> <span style="color: #ff8000;">&</span> _<br><span style="color: #800080;">" vous attendrez 20 secondes que la macro reprenne"</span><br><span style="color: #008000;">' Pause de 20 seconds.</span><br>Application.OnTime When:=Now <span style="color: #ff8000;">+</span> TimeValue(<span style="color: #800080;">"00:00:20"</span>), _<br>Name:=<span style="color: #800080;">"Macro2"</span><br><br>End Sub<br><br>Public Sub Macro2()<br>MsgBox <span style="color: #800080;">"la seconde macro reprend : Ce message s'affiche 20 secondes après le premier"</span><br>End Sub</span></span></span></span></span></p>
<p> </p>
<p> </p> Comment faire pour qu'une macro démarre toute seule ?2024-04-30T11:31:55+00:002024-04-30T11:31:55+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-faire-pour-quune-macro-demarre-toute-seulemathias marina<p>Lorsque vous créez une macro, cette dernière est à mettre dans l'éditeur VBA que vous pouvez atteindre rapidement via le raccourci clavier Alt+F11.</p>
<p>Dans l'éditeur VBA, vous avez deux possibilités :</p>
<ul>
<li>soit mettre la macro dans un module ordinaire.</li>
<li>soit mettre la macro dans le module ThisDocument.</li>
</ul>
<p><img class="float-none" style="display: block; margin-left: auto; margin-right: auto;" src="http://download.faqword.com/images/articles/macro_auto1.jpg" width="356" height="173"></p>
<h3>Les macros automatiques</h3>
<p>Voici trois macros automatiques à mettre dans un module ordinaire. Elles doivent se nommer :</p>
<ul>
<li>AutoOpen, pour démarrer à l'ouverture du document en question : il s'agit donc de mettre cette macro non pas dans un modèle mais dans un document (extension DOCM).</li>
<li>AutoExec, pour démarrer à l'ouverture de Word (à mettre dans le modèle Normal.dot(m).</li>
<li>AutoNew, pour démarrer à la création d'un nouveau document <span style="line-height: 1.3em;"> </span><span style="line-height: 1.3em;">(à mettre dans le modèle à partir duquel doit être créé ce nouveau document).</span></li>
</ul>
<p><span style="line-height: 1.3em;">Exemples :</span></p>
<p><span style="line-height: 1.3em;">La macro suivante va afficher un message "Hello" à l'ouverture d'un document.</span></p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Sub</span> AutoOpen</span><br><span style="font-size: 14px;">msgbox <span style="color: #800080;">"Hello"</span></span><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<p> La macro suivante va afficher un message "Hello" à la création d'un nouveau document basé sur le document où se trouve la macro.</p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Sub</span> AutoNew</span><br><span style="font-size: 14px;">msgbox <span style="color: #800080;">"Hello"</span></span><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<p> La macro suivante, stockée dans le Normal.dotm, va afficher un message "Hello" au lancement de Word.</p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Sub</span> AutoNew</span><br><span style="font-size: 14px;">msgbox <span style="color: #800080;">"Hello"</span></span><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<h3>Les macros événementielles de ThisDocument</h3>
<p>Les macros stockées ThisDocument, appelées événementielles parce qu'elles vont être lancées suite à un événement (Ouvrir, Nouveau, etc.).</p>
<p>Dans la fenêtre du projet VBE, ouvrez le projet (modèle ou document en cours) puis cliquez sur le module ThisDocument (voir capture d'écran ci-avant). En haut de la partie droite, vous disposez de deux listes déroulantes :</p>
<ul>
<li>Dans la première, choisissez Document.</li>
<li>Dans la seconde, choisissez l'événement qui vous intéresse.</li>
</ul>
<p> <br><img class="float-none" style="display: block; margin-left: auto; margin-right: auto;" src="http://download.faqword.com/images/articles/macro_auto2.jpg" width="642" height="211"></p>
<p> </p>
<p>La macro sera automatiquement créée, par exemple la macro suivante se lancera lorsqu'un nouveau document sera créé sur la base du modèle dans lequel se trouve la macro.</p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Private Sub</span> Document_New()</span><br><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<p>L'événement Open lancera la macro à l'ouverture du document, et l'événement Close lancera la macro à la fermeture du document.</p>
<p> </p>
<p> <a href="http://download.faqword.com/index.php?option=com_content&view=article&id=621" target="_blank" rel="noopener noreferrer">Pour tout savoir sur les macros événementielles prédéfinie , voyez cet article de Geo.</a></p>
<p><img src="http://download.faqword.com/images/sampledata/photos/image4.JPG" alt="" width="5" height="1" border="0"> </p>
<p><img alt="" border="0"></p><p>Lorsque vous créez une macro, cette dernière est à mettre dans l'éditeur VBA que vous pouvez atteindre rapidement via le raccourci clavier Alt+F11.</p>
<p>Dans l'éditeur VBA, vous avez deux possibilités :</p>
<ul>
<li>soit mettre la macro dans un module ordinaire.</li>
<li>soit mettre la macro dans le module ThisDocument.</li>
</ul>
<p><img class="float-none" style="display: block; margin-left: auto; margin-right: auto;" src="http://download.faqword.com/images/articles/macro_auto1.jpg" width="356" height="173"></p>
<h3>Les macros automatiques</h3>
<p>Voici trois macros automatiques à mettre dans un module ordinaire. Elles doivent se nommer :</p>
<ul>
<li>AutoOpen, pour démarrer à l'ouverture du document en question : il s'agit donc de mettre cette macro non pas dans un modèle mais dans un document (extension DOCM).</li>
<li>AutoExec, pour démarrer à l'ouverture de Word (à mettre dans le modèle Normal.dot(m).</li>
<li>AutoNew, pour démarrer à la création d'un nouveau document <span style="line-height: 1.3em;"> </span><span style="line-height: 1.3em;">(à mettre dans le modèle à partir duquel doit être créé ce nouveau document).</span></li>
</ul>
<p><span style="line-height: 1.3em;">Exemples :</span></p>
<p><span style="line-height: 1.3em;">La macro suivante va afficher un message "Hello" à l'ouverture d'un document.</span></p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Sub</span> AutoOpen</span><br><span style="font-size: 14px;">msgbox <span style="color: #800080;">"Hello"</span></span><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<p> La macro suivante va afficher un message "Hello" à la création d'un nouveau document basé sur le document où se trouve la macro.</p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Sub</span> AutoNew</span><br><span style="font-size: 14px;">msgbox <span style="color: #800080;">"Hello"</span></span><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<p> La macro suivante, stockée dans le Normal.dotm, va afficher un message "Hello" au lancement de Word.</p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Sub</span> AutoNew</span><br><span style="font-size: 14px;">msgbox <span style="color: #800080;">"Hello"</span></span><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<h3>Les macros événementielles de ThisDocument</h3>
<p>Les macros stockées ThisDocument, appelées événementielles parce qu'elles vont être lancées suite à un événement (Ouvrir, Nouveau, etc.).</p>
<p>Dans la fenêtre du projet VBE, ouvrez le projet (modèle ou document en cours) puis cliquez sur le module ThisDocument (voir capture d'écran ci-avant). En haut de la partie droite, vous disposez de deux listes déroulantes :</p>
<ul>
<li>Dans la première, choisissez Document.</li>
<li>Dans la seconde, choisissez l'événement qui vous intéresse.</li>
</ul>
<p> <br><img class="float-none" style="display: block; margin-left: auto; margin-right: auto;" src="http://download.faqword.com/images/articles/macro_auto2.jpg" width="642" height="211"></p>
<p> </p>
<p>La macro sera automatiquement créée, par exemple la macro suivante se lancera lorsqu'un nouveau document sera créé sur la base du modèle dans lequel se trouve la macro.</p>
<p><span style="font-family: 'courier new'; font-size: small;"><span style="font-size: 14px;"><span style="color: #0000ff;">Private Sub</span> Document_New()</span><br><br><span style="color: rgb(0, 0, 255); font-size: 14px;">End Sub</span><br></span> </p>
<p>L'événement Open lancera la macro à l'ouverture du document, et l'événement Close lancera la macro à la fermeture du document.</p>
<p> </p>
<p> <a href="http://download.faqword.com/index.php?option=com_content&view=article&id=621" target="_blank" rel="noopener noreferrer">Pour tout savoir sur les macros événementielles prédéfinie , voyez cet article de Geo.</a></p>
<p><img src="http://download.faqword.com/images/sampledata/photos/image4.JPG" alt="" width="5" height="1" border="0"> </p>
<p><img alt="" border="0"></p>Comment supprimer les avertissements dans une macro Word?2024-04-30T11:21:28+00:002024-04-30T11:21:28+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-supprimer-les-avertissements-dans-une-macro-wordmathias marina<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://download.faqword.com/images/articles/avertir.png" width="175" height="68" loading="lazy" data-path="local-images:/articles/avertir.png"></p>
<p><span style="font-family: 'Courier New';">Application.DisplayAlerts <span style="color: #ff8000;">=</span> wdAlertsNone</span></p>
<p> </p>
<p>NB : pour info, c'est différent en VBA Excel et Access ! Pour mémoire :</p>
<p>Avec Access :</p>
<p><span style="font-family: 'Courier New';">Docmd.Setwarnings <span style="color: #0000ff;">False</span></span></p>
<p>Avec Excel :</p>
<p><span style="font-family: 'Courier New';">Application.displayAlerts <span style="color: #ff8000;">=</span> false</span></p>
<p>Il reste conseillé de rétablir les avertissements dès qu’il n’est plus souhaitable de les inhiber…</p>
<p> </p><p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://download.faqword.com/images/articles/avertir.png" width="175" height="68" loading="lazy" data-path="local-images:/articles/avertir.png"></p>
<p><span style="font-family: 'Courier New';">Application.DisplayAlerts <span style="color: #ff8000;">=</span> wdAlertsNone</span></p>
<p> </p>
<p>NB : pour info, c'est différent en VBA Excel et Access ! Pour mémoire :</p>
<p>Avec Access :</p>
<p><span style="font-family: 'Courier New';">Docmd.Setwarnings <span style="color: #0000ff;">False</span></span></p>
<p>Avec Excel :</p>
<p><span style="font-family: 'Courier New';">Application.displayAlerts <span style="color: #ff8000;">=</span> false</span></p>
<p>Il reste conseillé de rétablir les avertissements dès qu’il n’est plus souhaitable de les inhiber…</p>
<p> </p>Comment attribuer un raccourci clavier à une macro ?2024-04-30T10:57:14+00:002024-04-30T10:57:14+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-attribuer-un-raccourci-clavier-a-une-macromathias marina<p>Tout d'abord, si vous utilisez l'enregistreur de macro, vous pouvez choisir, au moment de l'enregistrement, le raccourci clavier</p>
<p>Tout d'abord, si vous utilisez l'enregistreur de macro, vous pouvez choisir, au moment de l'enregistrement, le raccourci clavier</p>
Comment écrire une macro qui ouvrirait un fichier d'aide (extention .hlp) qui pourrait être appelé à partir d'un bouton d'une barre d'outils personnalisée affectée à un modèle de document ?2024-04-30T11:19:20+00:002024-04-30T11:19:20+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-ecrire-une-macro-qui-ouvrirait-un-fichier-daide-extention-hlp-qui-pourrait-etre-appele-a-partir-dun-bouton-dune-barre-doutils-personnalisee-affectee-a-un-modele-de-documentmathias marina<p> </p>
<p><span style="font-family: 'Courier New';"><span style="color: #0000ff;">Declare Function</span> ShellExecute <span style="color: #0000ff;">Lib</span> <span style="color: #800080;">"shell32.dll"</span> <span style="color: #0000ff;">Alias</span> <span style="color: #800080;">"ShellExecuteA"</span><br>(<span style="color: #0000ff;">ByVal</span> hwnd <span style="color: #0000ff;">As Long</span>, <span style="color: #0000ff;">ByVal</span> lpOperation <span style="color: #0000ff;">As String</span>, <span style="color: #0000ff;">ByVal</span> lpFile <span style="color: #0000ff;">As</span><br><span style="color: #0000ff;">String</span>, <span style="color: #0000ff;">ByVal</span> lpParameters <span style="color: #0000ff;">As String</span>, <span style="color: #0000ff;">ByVal</span> lpDirectory <span style="color: #0000ff;">As String</span>, <span style="color: #0000ff;">ByVal</span><br>nShowCmd <span style="color: #0000ff;">As Long</span>) <span style="color: #0000ff;">As Long</span><br><span style="color: #0000ff;">Public Sub</span> test()<br><span style="color: #0000ff;">Dim</span> Prog <span style="color: #0000ff;">As String</span>, Chemin <span style="color: #0000ff;">As String</span>, Ret <span style="color: #0000ff;">As Long</span><br>Chemin <span style="color: #ff8000;">=</span> <span style="color: #800080;">"E:Program FilesMicrosoft OfficeOffice"</span><br>Prog <span style="color: #ff8000;">=</span> <span style="color: #800080;">"Cgmimp32.hlp"</span><br>Ret <span style="color: #ff8000;">=</span> ShellExecute(Ret, <span style="color: #800080;">"open"</span>, Prog, <span style="color: #800080;">""</span>, Chemin, <span style="color: #ff0080;">1</span>)<br></span><span style="color: #008000;">'Pour fermer : remplacer Open par close</span><br><span style="color: #0000ff; font-family: 'Courier New';">End Sub</span></p><p> </p>
<p><span style="font-family: 'Courier New';"><span style="color: #0000ff;">Declare Function</span> ShellExecute <span style="color: #0000ff;">Lib</span> <span style="color: #800080;">"shell32.dll"</span> <span style="color: #0000ff;">Alias</span> <span style="color: #800080;">"ShellExecuteA"</span><br>(<span style="color: #0000ff;">ByVal</span> hwnd <span style="color: #0000ff;">As Long</span>, <span style="color: #0000ff;">ByVal</span> lpOperation <span style="color: #0000ff;">As String</span>, <span style="color: #0000ff;">ByVal</span> lpFile <span style="color: #0000ff;">As</span><br><span style="color: #0000ff;">String</span>, <span style="color: #0000ff;">ByVal</span> lpParameters <span style="color: #0000ff;">As String</span>, <span style="color: #0000ff;">ByVal</span> lpDirectory <span style="color: #0000ff;">As String</span>, <span style="color: #0000ff;">ByVal</span><br>nShowCmd <span style="color: #0000ff;">As Long</span>) <span style="color: #0000ff;">As Long</span><br><span style="color: #0000ff;">Public Sub</span> test()<br><span style="color: #0000ff;">Dim</span> Prog <span style="color: #0000ff;">As String</span>, Chemin <span style="color: #0000ff;">As String</span>, Ret <span style="color: #0000ff;">As Long</span><br>Chemin <span style="color: #ff8000;">=</span> <span style="color: #800080;">"E:Program FilesMicrosoft OfficeOffice"</span><br>Prog <span style="color: #ff8000;">=</span> <span style="color: #800080;">"Cgmimp32.hlp"</span><br>Ret <span style="color: #ff8000;">=</span> ShellExecute(Ret, <span style="color: #800080;">"open"</span>, Prog, <span style="color: #800080;">""</span>, Chemin, <span style="color: #ff0080;">1</span>)<br></span><span style="color: #008000;">'Pour fermer : remplacer Open par close</span><br><span style="color: #0000ff; font-family: 'Courier New';">End Sub</span></p>Comment exécuter sur une série de fichiers une macro créée pour un seul fichier ?2024-04-30T11:01:07+00:002024-04-30T11:01:07+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-executer-sur-une-serie-de-fichiers-une-macro-creee-pour-un-seul-fichiermathias marina<p> </p>
<p>Avec une autre macro !</p>
<p>La désormais très célèbre BatchMacro permet d'éviter d’avoir à écrire une macro qui boucle sur une série de fichiers. Il suffit de disposer d’une macro simple pour un seul fichier et la BatchMacro fera les reste. Elle vous demandera de choisir les fichiers à traiter ainsi que la macro à lancer.</p>
<p><a href="http://download.faqword.com/batchmacro/batchmacro.zip">A télécharger ici.</a></p>
<p>Lisez bien le fichier "lisez-moi" avant de commencer.</p><p> </p>
<p>Avec une autre macro !</p>
<p>La désormais très célèbre BatchMacro permet d'éviter d’avoir à écrire une macro qui boucle sur une série de fichiers. Il suffit de disposer d’une macro simple pour un seul fichier et la BatchMacro fera les reste. Elle vous demandera de choisir les fichiers à traiter ainsi que la macro à lancer.</p>
<p><a href="http://download.faqword.com/batchmacro/batchmacro.zip">A télécharger ici.</a></p>
<p>Lisez bien le fichier "lisez-moi" avant de commencer.</p>Comment installer un bouton macro sur la barre d'outils Accès rapide ?2024-04-30T10:43:24+00:002024-04-30T10:43:24+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-installer-un-bouton-macro-sur-la-barre-doutils-acces-rapidemathias marina<ul>
<li>Cliquez sur la flèche déroulante située à droite de la barre d'outils<strong> Accès rapide</strong> et choisissez <strong>Autres commandes</strong>.</li>
<li>Dans la liste des commandes, choisissez <strong>Macros</strong>.</li>
<li>Sélectionnez la macro dans la liste puis cliquez sur le bouton <strong>Ajouter</strong>.</li>
</ul>
<p>Si cette macro ne doit être disponible que pour un document en particulier, sélectionnez le nom du document dans la liste en haut à droite.</p>
<p> </p><ul>
<li>Cliquez sur la flèche déroulante située à droite de la barre d'outils<strong> Accès rapide</strong> et choisissez <strong>Autres commandes</strong>.</li>
<li>Dans la liste des commandes, choisissez <strong>Macros</strong>.</li>
<li>Sélectionnez la macro dans la liste puis cliquez sur le bouton <strong>Ajouter</strong>.</li>
</ul>
<p>Si cette macro ne doit être disponible que pour un document en particulier, sélectionnez le nom du document dans la liste en haut à droite.</p>
<p> </p>Comment protéger ses macros par un mot de passe ?2024-04-30T11:24:47+00:002024-04-30T11:24:47+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-proteger-ses-macros-par-un-mot-de-passemathias marina<p>Dans la page de l'éditeur VB, menu <strong>Outils, Propriétés, Protection</strong>.</p><p>Dans la page de l'éditeur VB, menu <strong>Outils, Propriétés, Protection</strong>.</p>Comment remplacer l'action d'une commande Word existante par une macro?2024-04-30T11:18:28+00:002024-04-30T11:18:28+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-remplacer-laction-dune-commande-word-existante-par-une-macromathias marina<p> </p>
<p>C'est le principe de la *surcharge* :</p>
<p>Toute macro portant le *même nom* qu'une commnande Word sera exécutée en lieu et place de cette commande.</p>
<p>Il faut parfois surcharger plusieurs commandes (menu/bouton).</p>
<p>Exemple : FichierImprimer et FichierImprimerDéfaut</p>
<p>Word facilite la surcharge :</p>
<p>- Alt-F8 : Outils/Macro/Macros</p>
<p>- Macros disponibles dans : Commandes Word</p>
<p>- Sélectionner la commande à surcharger (la liste complète peut être placée dans un tableau en exécutant ListerCommandes - toutes commandes )</p>
<p>- Modifier de nouveau Macros disponibles dans : sélectionner un modèle ou document pour y placer la macro de surchage par exemple Normal.dot pour surcharger globalement</p>
<p>- Bouton Créer</p>
<p>Dans l'éditeur VBE notez que Word dans ses commentaires sait déjà qu'il s'agit d'une surcharge !</p>
<p>Plus fort encore :</p>
<p>Reprendre cette manip mais au lieu de surcharger la commande française FichierImprimer utilisez le nom de commande originale en anglais : FilePrint (ou FilePrintDefault)</p>
<p>- Bouton Créer</p>
<p>Cette fois non seulement Word place les commentaires de surcharge mais inscrit aussi le code de la commande elle-même. Dans bien des cas en effet on souhaitera conserver l'action de la commande : il suffira d'y ajouter son propre code.</p>
<p> </p><p> </p>
<p>C'est le principe de la *surcharge* :</p>
<p>Toute macro portant le *même nom* qu'une commnande Word sera exécutée en lieu et place de cette commande.</p>
<p>Il faut parfois surcharger plusieurs commandes (menu/bouton).</p>
<p>Exemple : FichierImprimer et FichierImprimerDéfaut</p>
<p>Word facilite la surcharge :</p>
<p>- Alt-F8 : Outils/Macro/Macros</p>
<p>- Macros disponibles dans : Commandes Word</p>
<p>- Sélectionner la commande à surcharger (la liste complète peut être placée dans un tableau en exécutant ListerCommandes - toutes commandes )</p>
<p>- Modifier de nouveau Macros disponibles dans : sélectionner un modèle ou document pour y placer la macro de surchage par exemple Normal.dot pour surcharger globalement</p>
<p>- Bouton Créer</p>
<p>Dans l'éditeur VBE notez que Word dans ses commentaires sait déjà qu'il s'agit d'une surcharge !</p>
<p>Plus fort encore :</p>
<p>Reprendre cette manip mais au lieu de surcharger la commande française FichierImprimer utilisez le nom de commande originale en anglais : FilePrint (ou FilePrintDefault)</p>
<p>- Bouton Créer</p>
<p>Cette fois non seulement Word place les commentaires de surcharge mais inscrit aussi le code de la commande elle-même. Dans bien des cas en effet on souhaitera conserver l'action de la commande : il suffira d'y ajouter son propre code.</p>
<p> </p>Comment rendre disponible une macro depuis n'importe quel document?2024-04-30T10:54:23+00:002024-04-30T10:54:23+00:00http://download.faqword.com/index.php/word/gestion-des-macros/comment-rendre-disponible-une-macro-depuis-nimporte-quel-documentmathias marina<p> </p>
<p>Il y a deux solutions :</p>
<h3>1) Stocker la macro dans le fichier Normal.dot(m)</h3>
<p>C'est la solution par défaut. Si vous utilisez l'enregistreur de macros, par exemple, la macro est par défaut stockée dans le Normal.dot(m).</p>
<p><span style="color: #ff0000;">C'est cependant la plus mauvaise des solutions</span> : un normal.dot(m) surchargé est plus propice à la corruption. Donc, à moins qu'il ne s'agisse d'une toute petite macro, la seconde solution est préférable.</p>
<p> </p>
<p>Il y a deux solutions :</p>
<h3>1) Stocker la macro dans le fichier Normal.dot(m)</h3>
<p>C'est la solution par défaut. Si vous utilisez l'enregistreur de macros, par exemple, la macro est par défaut stockée dans le Normal.dot(m).</p>
<p><span style="color: #ff0000;">C'est cependant la plus mauvaise des solutions</span> : un normal.dot(m) surchargé est plus propice à la corruption. Donc, à moins qu'il ne s'agisse d'une toute petite macro, la seconde solution est préférable.</p>