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 macros http://download.faqword.com/index.php/word/gestion-des-macros Mon, 16 Feb 2026 09:01:00 +0000 Joomla! - Open Source Content Management fr-fr Comment insérer une attente (dans un module VBA-word) entre 2 instructions ? http://download.faqword.com/index.php/word/gestion-des-macros/comment-inserer-une-attente-dans-un-module-vba-word-entre-2-instructions http://download.faqword.com/index.php/word/gestion-des-macros/comment-inserer-une-attente-dans-un-module-vba-word-entre-2-instructions  

Vous pouvez utilisez la méthode OnTime prévue pour faire démarrer la macro à une heure donnée.

Cette méthode va permettre également de faire une pause dans une macro, en définissant un laps de temps avant la reprise..

La syntaxe est la suivante :

Application.OnTime(WhenName, Tolerance)

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é.

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.

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.


L'exemple ci-dessous montre affiche un message, puis attend 20 secondes avant d'afficher le seconde message compris dans la seconde macro.

Sub Macro1()
MsgBox "Ceci est le début de la macro, lorsque vous appuierez sur OK," & _
" vous attendrez 20 secondes que la macro reprenne"
' Pause de 20 seconds.
Application.OnTime When:=Now + TimeValue("00:00:20"), _
Name:="Macro2"

End Sub

Public Sub Macro2()
MsgBox "la seconde macro reprend : Ce message s'affiche 20 secondes après le premier"
End Sub

 

 

]]>
Gestion des macros Tue, 30 Apr 2024 11:27:28 +0000
Comment faire pour qu'une macro démarre toute seule ? http://download.faqword.com/index.php/word/gestion-des-macros/comment-faire-pour-quune-macro-demarre-toute-seule http://download.faqword.com/index.php/word/gestion-des-macros/comment-faire-pour-quune-macro-demarre-toute-seule 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.

Dans l'éditeur VBA, vous avez deux possibilités :

  • soit mettre la macro dans un module ordinaire.
  • soit mettre la macro dans le module ThisDocument.

Les macros automatiques

Voici trois macros automatiques à mettre dans un module ordinaire. Elles doivent se nommer :

  • 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).
  • AutoExec, pour démarrer à l'ouverture de Word (à mettre dans le modèle Normal.dot(m).
  • AutoNew, pour démarrer à la création d'un nouveau document  (à mettre dans le modèle à partir duquel doit être créé ce nouveau document).

Exemples :

La macro suivante va afficher un message "Hello" à l'ouverture d'un document.

Sub AutoOpen
msgbox "Hello"
End Sub
 

 La macro suivante va afficher un message "Hello" à la création d'un nouveau document basé sur le document où se trouve la macro.

Sub AutoNew
msgbox "Hello"
End Sub
 

 La macro suivante, stockée dans le Normal.dotm, va afficher un message "Hello"  au lancement de Word.

Sub AutoNew
msgbox "Hello"
End Sub
 

Les macros événementielles de ThisDocument

Les macros stockées ThisDocument, appelées événementielles parce qu'elles vont être lancées suite à un événement (Ouvrir, Nouveau, etc.).

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 :

  • Dans la première, choisissez Document.
  • Dans la seconde, choisissez l'événement qui vous intéresse.

 

 

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.

Private Sub Document_New()

End Sub
 

L'événement Open lancera la macro à l'ouverture du document, et l'événement Close lancera la macro à la fermeture du document.

 

 Pour tout savoir sur les macros événementielles prédéfinie , voyez cet article de Geo.

 

]]>
Gestion des macros Tue, 30 Apr 2024 11:31:55 +0000
Comment supprimer les avertissements dans une macro Word? http://download.faqword.com/index.php/word/gestion-des-macros/comment-supprimer-les-avertissements-dans-une-macro-word http://download.faqword.com/index.php/word/gestion-des-macros/comment-supprimer-les-avertissements-dans-une-macro-word

Application.DisplayAlerts = wdAlertsNone

 

NB : pour info, c'est différent en VBA Excel et Access ! Pour mémoire :

Avec Access :

Docmd.Setwarnings False

Avec Excel :

Application.displayAlerts = false

Il reste conseillé de rétablir les avertissements dès qu’il n’est plus souhaitable de les inhiber…

 

]]>
Gestion des macros Tue, 30 Apr 2024 11:21:28 +0000
Comment attribuer un raccourci clavier à une macro ? http://download.faqword.com/index.php/word/gestion-des-macros/comment-attribuer-un-raccourci-clavier-a-une-macro http://download.faqword.com/index.php/word/gestion-des-macros/comment-attribuer-un-raccourci-clavier-a-une-macro Tout d'abord, si vous utilisez l'enregistreur de macro, vous pouvez choisir, au moment de l'enregistrement, le raccourci clavier

]]>
Gestion des macros Tue, 30 Apr 2024 10:57:14 +0000
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 ? http://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-document http://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-document  

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"
(ByVal hwnd As LongByVal lpOperation As StringByVal lpFile As
StringByVal lpParameters As StringByVal lpDirectory As StringByVal
nShowCmd As LongAs Long
Public Sub test()
Dim Prog As String, Chemin As String, Ret As Long
Chemin = "E:Program FilesMicrosoft OfficeOffice"
Prog = "Cgmimp32.hlp"
Ret = ShellExecute(Ret, "open", Prog, "", Chemin, 1)
'Pour fermer : remplacer Open par close
End Sub

]]>
Gestion des macros Tue, 30 Apr 2024 11:19:20 +0000
Comment exécuter sur une série de fichiers une macro créée pour un seul fichier ? http://download.faqword.com/index.php/word/gestion-des-macros/comment-executer-sur-une-serie-de-fichiers-une-macro-creee-pour-un-seul-fichier http://download.faqword.com/index.php/word/gestion-des-macros/comment-executer-sur-une-serie-de-fichiers-une-macro-creee-pour-un-seul-fichier  

Avec une autre macro !

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.

A télécharger ici.

Lisez bien le fichier "lisez-moi" avant de commencer.

]]>
Gestion des macros Tue, 30 Apr 2024 11:01:07 +0000
Comment installer un bouton macro sur la barre d'outils Accès rapide ? http://download.faqword.com/index.php/word/gestion-des-macros/comment-installer-un-bouton-macro-sur-la-barre-doutils-acces-rapide http://download.faqword.com/index.php/word/gestion-des-macros/comment-installer-un-bouton-macro-sur-la-barre-doutils-acces-rapide
  • Cliquez sur la flèche déroulante située à droite de la barre d'outils Accès rapide et choisissez Autres commandes.
  • Dans la liste des commandes, choisissez Macros.
  • Sélectionnez la macro dans la liste puis cliquez sur le bouton Ajouter.
  • 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.

     

    ]]>
    Gestion des macros Tue, 30 Apr 2024 10:43:24 +0000
    Comment protéger ses macros par un mot de passe ? http://download.faqword.com/index.php/word/gestion-des-macros/comment-proteger-ses-macros-par-un-mot-de-passe http://download.faqword.com/index.php/word/gestion-des-macros/comment-proteger-ses-macros-par-un-mot-de-passe Dans la page de l'éditeur VB, menu Outils, Propriétés, Protection.

    ]]>
    Gestion des macros Tue, 30 Apr 2024 11:24:47 +0000
    Comment remplacer l'action d'une commande Word existante par une macro? http://download.faqword.com/index.php/word/gestion-des-macros/comment-remplacer-laction-dune-commande-word-existante-par-une-macro http://download.faqword.com/index.php/word/gestion-des-macros/comment-remplacer-laction-dune-commande-word-existante-par-une-macro  

    C'est le principe de la *surcharge* :

    Toute macro portant le *même nom* qu'une commnande Word sera exécutée en lieu et place de cette commande.

    Il faut parfois surcharger plusieurs commandes (menu/bouton).

    Exemple : FichierImprimer et FichierImprimerDéfaut

    Word facilite la surcharge :

    - Alt-F8 : Outils/Macro/Macros

    - Macros disponibles dans : Commandes Word

    - Sélectionner la commande à surcharger (la liste complète peut être placée dans un tableau en exécutant ListerCommandes - toutes commandes )

    - 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

    - Bouton Créer

    Dans l'éditeur VBE notez que Word dans ses commentaires sait déjà qu'il s'agit d'une surcharge !

    Plus fort encore :

    Reprendre cette manip mais au lieu de surcharger la commande française FichierImprimer utilisez le nom de commande originale en anglais : FilePrint (ou FilePrintDefault)

    - Bouton Créer

    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.

     

    ]]>
    Gestion des macros Tue, 30 Apr 2024 11:18:28 +0000
    Comment rendre disponible une macro depuis n'importe quel document? http://download.faqword.com/index.php/word/gestion-des-macros/comment-rendre-disponible-une-macro-depuis-nimporte-quel-document http://download.faqword.com/index.php/word/gestion-des-macros/comment-rendre-disponible-une-macro-depuis-nimporte-quel-document  

    Il y a deux solutions :

    1) Stocker la macro dans le fichier Normal.dot(m)

    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).

    C'est cependant la plus mauvaise des solutions : 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.

    ]]>
    Gestion des macros Tue, 30 Apr 2024 10:54:23 +0000