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 :

VBA macro à chaque ouverture, c'est possible ?


Sujet :

VBA Word

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2016
    Messages : 64
    Points : 36
    Points
    36
    Par défaut VBA macro à chaque ouverture, c'est possible ?
    Bonjour
    Je sais comment faire une macro lancée automatiquement à l'ouverture d'un document.
    Mais cette macro doit etre intégrée à ce document.
    Comment déclencher une macro à l'ouverture de n'importe quel document ?
    Donc sans inclure de code dans ce document...
    J'ai adapté pour les tests la solution:
    https://heureuxoli.developpez.com/of...ba-word/#LII-C
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public WithEvents App As word.Application
     
    'Private Sub App_DocumentOpen(ByVal Doc As Document)
    'MsgBox "Automatique lancé par OPEN"
    'End Sub
     
    Private Sub App_WindowActivate(ByVal Doc As Document, ByVal Wn As Window)
    MsgBox "Automatique lancé par winactivate"
    End Sub
     
    Sub document_open()
    Set App = word.Application
    End Sub
    Mais j'ai un déclenchement pour chaque document présent!
    cad:
    j'ouvre un premier doc > tout va bien un seul message (open ou winactivate)
    j'ouvre un deuxieme doc > a nouveau affichage de msgbox mais 2 fois !
    j'ouvre un troisieme doc > 3 msgbox successifs...

    si on fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub App_WindowActivate(ByVal Doc As Document, ByVal Wn As Window)
    MsgBox ActiveDocument & "Automatique lancé par winactivate"
    End Sub
    si on a n documents on a n fois le bon nom de la fenetre en premier plan!
    c'est normal ?
    ex, avec 3 documents:
    Nom : 2023-04-07.gif
Affichages : 97
Taille : 35,7 Ko
    peut on avoir 1 seul declenchement ?
    Merci de vos lumières

  2. #2
    Membre actif
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    décembre 2021
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2021
    Messages : 197
    Points : 283
    Points
    283
    Par défaut
    Bonjour,

    Le plus simple serait de générer vos nouveaux fichiers à partir de modèles .dotm qui contiendraient le lancement de votre macro à l'ouverture.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2016
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    c'est bien le problème, la macro ci dessus est dans normal.dotm !

  4. #4
    Membre actif
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    décembre 2021
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2021
    Messages : 197
    Points : 283
    Points
    283
    Par défaut
    Citation Envoyé par payadz2 Voir le message
    Je ne faisais pas référence à Normal.dotm.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2016
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    bonjour
    merci pour la réponse, même si je ne la comprends pas
    en fait j'ai écrit un script complémentaire en AHK qui scrute l ouverture de nouvelle fenetre de word et qui met a jour un fichier indiquant la fenetre active (c'est ce dont j ai besoin)
    ca marche
    mais si vous avez plus d explications sur votre solution, je suis preneur

  6. #6
    Membre actif
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    décembre 2021
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2021
    Messages : 197
    Points : 283
    Points
    283
    Par défaut
    Citation Envoyé par payadz2 Voir le message
    en fait j'ai écrit un script complémentaire en AHK qui scrute l ouverture de nouvelle fenetre de word et qui met a jour un fichier indiquant la fenetre active (c'est ce dont j ai besoin)
    ca marche
    Si cela marche, c'est suffisant.

  7. #7
    Membre du Club Avatar de iBenny
    Homme Profil pro
    Inscrit en
    novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : novembre 2012
    Messages : 99
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    Si vous voulez que votre code soit général quelque soit le document ouvert et qu'il soit exécuté à l'ouverture du premier document mais pas à l'ouverture des autres documents, ce code doit être écrit dans Normal | NewMacro | Autoexec () dans la fenêtre Visual Basic et non sous Project (nom du document) plus bas.

    Pour ouvrir la fenêtre VB taper Alt-F11 et pour faire apparaître la liste des codes, cliquer sur l'icône outil "Explorateur de projets". La liste des codes est à gauche. (Procédure WD-2007)

    Dans Normal | NewMacro vous pouvez coder :
    Sub Autoexec () : s'exécute une fois à l'ouverture de Word
    Sub AutoOpen () : s'exécute à chaque ouverture de document
    Sub AutoClose () : s'exécute à chaque fermeture de document

    Salutations cordiales
    iBenny

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/07/2015, 13h43
  2. Execution macro chaque ouverture de fichier
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/04/2010, 13h16
  3. [VBA]macro excel ouverture et transformation de fichier
    Par astrolane dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2007, 11h19
  4. [VBA-E] Macro automatique ouverture Excel
    Par P50 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/04/2006, 11h42
  5. [VBA-E]Lancement de macro à l'ouverture du fichier
    Par bastien62200 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2006, 23h20

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