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 Access Discussion :

Word dans access vba [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Word dans access vba
    bonjour

    j"ai créé une routine sub pour ouvrir et afficher un document word existant

    lorsque je veux l'ouvrir a partir d'un formulaire
    tout fonctionne parfaitement (je termine par wordapp.activate)

    sauf que le document s'ouvre ds la barre des taches et non en plein écran

    une piste : si je modifie la routine ds vba et que je sors pas de mon application ça fonctionne
    mais dès que je ferme l'application et que je l'ouvre de nouveau rebelote ça ne va plus

    une idée SVP et merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,
    peut-être te manque-t'il
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     wordApp.Visible = True
            wordApp.Activate
    cordialement
    "Always look at the bright side of life." Monty Python.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    merci

    mais j'ai essayé et ça ne donne rien
    merci

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Peux-tu afficher ton code pour ouvrir et afficher un document word existant ?
    "Always look at the bright side of life." Monty Python.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Bonjour

    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
    17
    18
    19
    Sub OpenDocument(N, c, m)
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
     
        Set WordApp = CreateObject("Word.Application")
        WordApp.Visible = True
        Set WordDoc = WordApp.Documents.Open("d:\acrf\recettes\R" & N & ".docx")
        With WordDoc.Sections(1).Footers(wdHeaderFooterPrimary).Range
            .Text = "ACRF Cours de cuisine Claudine MARTINN   Numéro du cours : " & c & "   Date : " & m
            .Bold = True
            .ParagraphFormat.Alignment = wdAlignParagraphCenter
        End With
     
     
            WordDoc.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text = "CUISINE"
     
            WordApp.Visible = True
            WordApp.Activate
    End Sub
    MERCI

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Avec Office 2010 (access + word), tout se passe bien comme attendu.
    J'ai utilisé le code suivant dans un module standard , pas très différent du tien, et j'ai ajouté Enregistrer

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub test()
        Dim s1 As String
        s1 = Application.CurrentProject.Path & "\" & "monDoc.docx"
        Call OpenDocument(s1, 102, Date)
    End Sub
     
    Private Sub OpenDocument(strFileName As String, lngCoursNum As Long, dt1 As Date)
        Dim WordApp As Word.Application, WordDoc As Word.Document
     
        Set WordApp = CreateObject("Word.Application")
        WordApp.Visible = True
        WordApp.Activate
     
        'Set WordDoc = WordApp.Documents.Open("d:\acrf\recettes\R" & N & ".docx")
        Set WordDoc = WordApp.Documents.Open(strFileName)
        With WordDoc.Sections(1).Footers(wdHeaderFooterPrimary).Range
            .Text = "ACRF Cours de cuisine Claudine MARTIN   Numéro du cours : " & lngCoursNum & "   Date : " & dt1
            .Bold = True
            .ParagraphFormat.Alignment = wdAlignParagraphCenter
        End With
     
        WordDoc.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text = "CUISINE"
     
        WordDoc.Save  ' Enregistrer
     
    End Sub
    est-ce que ça compile OK chez toit ?
    "Always look at the bright side of life." Monty Python.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Bonjour

    ça ne change rien si ce n'est que ça n"affiche plus la boite de dialogue enregistrer lors de la fermeture du fichier word

    Merci

  8. #8
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    sauf que le document s'ouvre ds la barre des taches et non en plein écran
    ça ne change rien
    quand je lance cette procédure depuis Access, ça m'ouvre une fenetre word sur les 3/4 de l'écran : donc ça change !
    Peut-etre ton word est-il minimisé par défaut ... dans ce cas ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WordApp.ActiveWindow.WindowState = wdWindowStateMaximize   ' sinon wdWindowStateNormal
    "Always look at the bright side of life." Monty Python.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    bonjour
    toujours pas de changement
    merci pour aide

  10. #10
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Bonjour,

    puis-je suggérer une autre approche ?

    Si je pars du principe que le remplissage du document word et son enregistrement fonctionne, mais que c'est l'affichage qui pose probleme, est-il possible de passer en bout de chaine avec un ShellExecute ?

    Le pseudo code serait ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'remplissage du doc
    'enregistrement du doc
    'fermeture du doc
    'fermeture de Word
    'ShellExecute pour ouvrir le document
    https://access.developpez.com/faq/?p...n#shellexecute
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  11. #11
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    bonjour

    je vais essayer mais malgré mes 73 ans et des années de vba je n'ai jamais utilisé shellexecute
    mais ça se tente je vous tiens au courant

    merci

  12. #12
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par papy1947 Voir le message
    bonjour

    je vais essayer mais malgré mes 73 ans et des années de vba je n'ai jamais utilisé shellexecute
    mais ça se tente je vous tiens au courant

    merci
    En fait je n'ai pas les connaissances nécessaires pour utiliser cette méthode

    NB ce qui m'intrigue c'est que si je sors de l'éditeur vba ça fonctionne
    c'est lorsque je ferme et rouvre access que ça ne fonctionne plus !!!!!!!!!!!!!!!!!!!!

    merci encore pour votre aide

  13. #13
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Est-ce que ce n'est pas simplement la fenêtre Word qui est derrière (et donc cachée) par la fenêtre Access ?
    "Always look at the bright side of life." Monty Python.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Bonjour
    Si 'est exactement ça
    si je rends invisible le formulaire acces le document word apparaît
    mais alors comment faire réapparaître le formulaire access a la fermeture de word

    merci

  15. #15
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Es-tu certain qu'après avoir lancé Word, tu n'executes aucune commande dans ACCESS (ce qui redonnerait le focus à Access) ?

    si oui, essaye https://stackoverflow.com/questions/...bring-to-front
    (la réponse : You can achieve what you want using APIS. I am using two APIs SetForegroundWindow and FindWindow )


    cordialement
    "Always look at the bright side of life." Monty Python.

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 225
    Points : 553
    Points
    553
    Par défaut
    Salut papy1947,

    J'ai le même problème que toi, et ça fait un moment que je cherche la solution.

    N'est-il pas possible de mettre un code vba à la fermeture du document word de remettre access en plein écran.
    Moi, je n'utilise que 2 documents et toujours les même.

    Merci

  17. #17
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2016
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Bonjour
    en ajoutant ceci a l'air de fonctionner

    si vous pouviez tester et me dire le résultat ça m'arrangerait

    Merci

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 225
    Points : 553
    Points
    553
    Par défaut
    re,

    Nickel, ça fonctionne.

    Bien joué, MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. aide vba recuperation d'informations WORD dans access
    Par Cboudj72 dans le forum Général VBA
    Réponses: 4
    Dernier message: 13/06/2016, 11h49
  2. Utilisation des bookmarks dans access VBA
    Par nikolla dans le forum VBA Access
    Réponses: 1
    Dernier message: 31/05/2007, 22h29
  3. Erreur de syntaxe dans Access VBA
    Par rapace dans le forum Access
    Réponses: 3
    Dernier message: 20/12/2006, 12h29
  4. Ouvrir un fichier Word dans Access
    Par voyou dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2006, 11h24
  5. [VBA-A]erreur 2801 dans access vba
    Par anila dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/05/2006, 20h03

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