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] Récupérer variable excel et l'utiliser dans word


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut [VBA-E] Récupérer variable excel et l'utiliser dans word
    Bonjour les loulous,

    Vous m'avez manqué, mais vous pouvez être fière de moi, j'avance toute seule maintenant, ou presque.
    Ba oui, sinon je ne serais pas en train de vous écrire en ce moment même

    Alours....
    Ma macro excel, appele une macro word OK
    ma macro word, créer un tableau OK
    le nombre de ligne de ce tableau est dans une cellule excel OK




    » Comment récupérer cette valeur, et la réutiliser dans ma macro word?

  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
    Facile !
    Dans ta macro Excel, affecte ton nombre de ligne à une variable.
    Dans ta macro Word, déclare une variable pour le nombre de lignes puis tu fais
    Enfin tu testes (jamais fait)
    A la réflexion je ne suis pas du tout sûr que ça fonctionne... J'efface le "Facile" et je te mets un lien
    Ça m'intéresse, alors si ça ne fonctionne pas, je verrai ce qu'on peut faire.

  3. #3
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    Bon apparement ce que j'ai fait ça ne marche pas :/
    En meme temps ce que j'ai fait ça me semble tout pouri

    EXCEL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim max as integer
    max = 5
    ' j'ai bien sur ouvert word et tout le tralala
    wordApp.Run "ajouter_tableau"
    WORD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim i As Integer
    i = max
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
            i, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
            wdAutoFitWindow

    Ici i=0



    J'avais deja vu ce forum, mais la c'est l'inverse que je cherche a faire!

  4. #4
    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
    Comment lances-tu ta macro ?
    Ce qui serait peut-être possible est de lancer ta macro depuis Excel en passant ton paramètre nbLignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        NomComplet = "'TonFichier.Doc'!TaMacro"
        AppWord.Run NomComplet, NbLignes
    Cette syntaxe convient à Excel... convient-elle à Word ? Pas testé.
    Tu peux tester aussi avec l'objet DocWord (tu adaptes avec tes propres instances -> AppWord = Objet application et DocWord objet document)
    A+

  5. #5
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wordApp.Run "ajouter_tableau", max
    Erreur n°450
    "Nombre d'arguements incorrect ou affectation de propriété incorrecte

  6. #6
    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 as encore mal lu

  7. #7
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     NomComplet = "'Presentation.Doc'!ajouter_tableau"
        AppWord.Run NomComplet, max

    Erreur: Objet requis

  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
    Ok. Il va donc falloir utiliser l'objet DocWord et ça je ne l'ai jamais fait non plus. Comme j'ai la moitié du code (ouverture, travail dans doc, fermeture doc) je vais voir pour l'autre moitié (appli.run macro & paramètre). Je ne devrais pas en avoir pour longtemps que ça fonctionne ou non.
    A+

  9. #9
    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
    Alors voilà...
    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
    Sub ExecuterMacroDansWord()
    Dim NomChamp As String
    Dim Chemin As String
    Dim nomFich As String
    Dim wdApp As Word.Application
    Dim WdDoc As Document
    Dim Valeur
        Chemin = "D:\Doc\"
        nomFich = "TestParam.doc"
        Set wdApp = CreateObject("word.application")
        Set WdDoc = wdApp.Documents.Open(Filename:=Chemin & nomFich)
        DoEvents
        Valeur = "Coucou"
        WdDoc.coucou (Valeur)
        DoEvents
        WdDoc.Close False
        DoEvents
        wdApp.Quit
     
        Set WdLType = Nothing
        Set WdDoc = Nothing
        Set wdApp = Nothing
    End Sub
    Important
    Pour que la macro "coucou" s'exécute, elle doit se trouver dans l'objet ThisDocument du document que tu ouvres
    Tu remplaces ce qu'il faut là où il faut et tu dis.
    A+

  10. #10
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut



    T'es trop fort, je t'autorises a aller poster dans la FAQ si tu trouves que c'est nécéssaire


  11. #11
    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
    Citation Envoyé par a.dequidt Voir le message

    T'es trop fort, je t'autorises a aller poster dans la FAQ si tu trouves que c'est nécéssaire
    Hé les gars, si c'est pas une déclaration en bonnet difforme, ça.......
    C'est autorisé sur le forum, ça ?

    Pour ce qui est de la FAQ, merci beaucoup de ton autorisation
    (Je vais déjà le placer dans Contribuez)

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

Discussions similaires

  1. Récupérer variable texte pour l'intégrer dans une image
    Par paradeeyes dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 18/10/2009, 18h01
  2. Réponses: 4
    Dernier message: 10/03/2009, 14h05
  3. [MooTools] Request,comment récupérer le contenu pour l'utiliser dans le script ?
    Par dawadam dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 09/07/2008, 23h22
  4. Récupérer une valeur et l'utiliser dans une requête
    Par jojo57 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 07/04/2008, 14h17
  5. Réponses: 3
    Dernier message: 16/01/2008, 09h07

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