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

Macros et VBA Excel Discussion :

[VBA-E]Problème entre Excel et Word


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut [VBA-E]Problème entre Excel et Word
    Bonsoir à tous

    J'ai effectué une macro sous Excel qui me permet d'ouvrir un document Word, jusque là c'est bon cela marché seulement lorsque que je créé une macro sous Word pour fermer le document Word, ma macro sous excel ne fonctionne plus.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton12_Click() 
    Set WordObject = CreateObject("C:\travaux excel vba\LETCART.DOC") 
    WordObject.Application.Visible = True
    Unload Me 
    End Sub
    Donc si quelqu'un a une solution à me proposer, je suis preneur

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu veux dire que la macro sous Excel ne continue pas au delà de
    WordObject.Application.Visible = True
    ?

    A+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bon, sous Excel, j'ai ça qui fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        critère2 = CheminLettres "\" + critère2 + ".doc" 'je crée le nom du fichier sachant qu'il existe
        n = "WINWORD.EXE " + critère2
        DemWord = Shell(n, 3)
        AppActivate DemWord
    critère2 étant le nom reconstitué de mon .doc

    Sous Word, pour quitter, j'ai ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    sub Quitter()
        Set MonAppli = Application
        MonAppli.Visible = True
        MonAppli.Quit SaveChanges:=wdDoNotSaveChanges
    end sub
    La macro "quitter" étant lancée après une fusion lancée en auto_Open

    Dans Excel, la macro continue après "AppActivate DemWord", désactive un bouton sur un form et ouvre une grille de saisie... Bref, elle continue...

    Si ça peut t'aider...

    A+

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut
    Je te remercie de ton aide mais cela ne fonction pas

    Je vais te résumé le problème inial en deux phases

    La macro sous excel marche pour ouvrir le document word donc aucun problème (la feuille excel est toujours ouverte)

    Mais lorsque je crée une macro sous word pour fermer le document word et revenir sur la feuille excel, la macro sous excel elle mets un message "Erreur d'exécution '57121' et la ligne

    WordObject.Application.Visible = True passe en jaune

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    tu a une macro qui dit que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WordObject.Application.Visible = True
    ta page word doit etre visible... donc effectivement quand tu la ferme il ne comprend plus et te met une erreur

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tu ne dois pas tous nous dire car cela marche...
    - comment ferme tu le fichier word...?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut
    Je mets


  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si j'ai mis "Set MonAppli = Application", c'est que j'avais un pb avec "Application.quit"
    En outre, si ton fichier n'est pas enregistré, il attend tes ordres...
    A tout hasard

    A+

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut
    J'ai essayer avec "Set MonAppli = Application", j'obtient toujours le même résultat.

    si j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    critère2 = CheminLettres "\" + critère2 + ".doc" 'je crée le nom du fichier sachant qu'il existe 
        n = "WINWORD.EXE " + critère2 
        DemWord = Shell(n, 3) 
        AppActivate DemWord
    c'est DemWord = Shell(n, 3)qui en jaune et le message d'erreur '53'

    et si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    n = "F:\Program Files\Microsoft Office\Office\WINWORD.EXE " + ("C:\image msn\excel test\carte1\LETCART.DOC")
    DemWord = Shell(n, 3)
    AppActivate DemWord
    il ouvre un document vierge

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je crois qu'avec les nouvelles versions, tu peux faire

    Call Shell(...

    Vérifie dans la FAQ, je pense que la réponse s'y trouve.
    Sinon, voici un code founi par SilkyRoad et je n'ai jamais eu de réclamation

    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
    Sub ouvrirDocWord_Impression()
    'necesite d'activer la reference Microsoft Word xx.x Object Library
    Dim appWrd As Word.Application
    Dim DocWord As Word.Document
    Dim Fichier As String
     
    Fichier = "C:\Documents\monDocument.doc"
     
    Set appWrd = CreateObject("Word.Application") 'creation session Word
    appWrd.Visible = False 'pour que word reste masqué pendant l'operation
    Set DocWord = appWrd.Documents.Open(Fichier)
     
    DocWord.PrintOut 'impression
     
    DocWord.Close 'fermer le document Word
    appWrd.Quit 'fermer la seesionWord
    End Sub
    Mais tu as bien des difficultés !!!

    Tu nous tiens au courant

    A+

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut
    J'ai obtenu par l'intermédiaire d'un formateur le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim wrdApp
    Dim wrdDoc
        Set wrdApp = CreateObject("Word.Application")
        Set wrdDoc = wrdApp.Documents.Open("C:\image msn\excel test\carte1\LETCART.DOC")
        wrdApp.Visible = True
    cela fonctionne et il fonctionne avec le code Word que tu m'as donné

    Je te remercie grandement pour avoir aidé dans cette macro et je remercie aussi les autres membres du forum.

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

Discussions similaires

  1. [Toutes versions] Problème nombre d'enregistrement publipostage entre excel et word
    Par Sovramontino dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/04/2012, 17h35
  2. [VBA-E] Problème fermeture excel
    Par robin des bulles dans le forum Access
    Réponses: 3
    Dernier message: 28/06/2006, 16h14
  3. [VBA-E] liaison entre Excel et Word
    Par fred bx dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 22/05/2006, 10h45
  4. [VBA-E] Problème macro excel
    Par pontus21 dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 19/05/2006, 18h38
  5. [VBA-E]Insertion graphique Excel dans Word
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/04/2006, 14h26

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