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 :

Macro VBA copie valeur cellule excel et colle dans doc word [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut Macro VBA copie valeur cellule excel et colle dans doc word
    Bonjour à tous amis forumistes,

    Je souhaiterais que ma macro excel recopie (copie/colle) la valeur d'une cellule de mon fichier excel dans 1 emplacement précis et prédéfini d'une feuille ISO (qui est un fichier .doc protégé en écriture sauf à 2 endroits modifiables ou c'est la qu'il faudrait réinjecter les valeurs excel)

    Je ne sais pas quel code VBA permettrait ceci , sachant que ma macro ouvre dores et déjà le fichier.doc..

    Merci par avance pour votre aide, car je suis incompétent pour le coup.

    Edit :

    j'ai remarqué qu'en faisant (Ctrl+C) sur excel, puis directement (Ctrl+V) aprés avoir ouvert le .doc, la valeur désirée se colle à l'endroit voulue....
    la 2eme valeur a copier/coller se fait également par Ctrl+C depuis Excel et Ctrl+V sur word aprés avoir fait "une tabulation" sur le .doc qui fait directement passer à l'autre zone modifiable du fichier...

    peut etre est ce plus simple à programmer avec cette configuration la.........

    ..Antony..

  2. #2
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Bonjour Tony
    Voici un petit bout de code qui te prend une info dans Excel(ThisWorkbook.Worksheets("Nom Onglet").Range("I2").Copy) et qui te la recopie dans un doc Word(With ActiveDocument.Tables(2).Cell(1, 2))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        With docword
        Set appword = Word.Application
        Application.DisplayAlerts = True
        appword.ShowMe
        appword.Visible = True
        Set docword = appword.Documents.Open("C:\Ton fichier.doc", ReadOnly:=False)
            End With
        With appword
    ThisWorkbook.Worksheets("Nom Onglet").Range("I2").Copy
    With ActiveDocument.Tables(2).Cell(1, 2)
    .Range.Paste
    .Select
    End With
    Tables et cell correspondent à des emplacement sur le doc word


    Bonne journée

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    j'ai une erreur a ce niveau la : (erreur 424 objet requis)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With ActiveDocument.Tables(2).Cell(1, 2)
    il manquait également un End with, et j'avais aussi une erreur ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set AppWord = word.Application
    il fallait mettre ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set AppWord = CreateObject("Word.Application")
    maintenant la cellule se copie, le .doc s'ouvre mais il y a l'erreur 424....

    on y est persque ;-)

    sinon qu'est ce que ca représente "Tables(2).Cell(1, 2)" ?!

    merci pour votre aide !!

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour à tous,

    A mon avis Babybell a donné un exemple de code à adapter.

    doit être un tableau (le deuxième) dans world, si tu n'en as pas l'erreur s'explique, à toi de coller là ou tu veux.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    euuh....vi mais comment savoir mon numéro de tableau?! car c'est un .doc avec 2 emplacements modifiables où coller les valeurs de 2 cellules excel...

    ce .doc est une fiche ISO, pas un tableau.........comprends plu

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    il manquait également un End with
    juste une petite remarque, il ne manque pas de end with mais il y a un with inutile, placé à l'endroit actuel
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    salut le forum
    Effectivement, comme le dit aalex_38 que je salut, c'est une partie de tableau déjà défini dans mon doc word. En ce qui concerne ton .iso, je ne sais que te répondre

  8. #8
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    bonjour casefayere, babybell, tony020422 le forum


    2 emplacements modifiables où coller les valeurs de 2 cellules
    A toi de trouver dans word comment se placer dans ces emplacements pour faire le collage, ensuite il ne restera plus qu'a traduire ton action en code.

    Salut à toi également babybell

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    je vous poste un apercu de mon fichier .doc

    http://www.cijoint.fr/cjlink.php?fil...cij0G23I8E.jpg

    voici la partie supérieure de la feuille, avec encerclées de rouge les zones à remplir avec les valeurs de cellules excel...
    pour passer de la zone de gauche a celle de droite une tabulation suffit..

    il faut donc copier la cellule C9 dans la zone de gayche et la cellule C11 dans celle de droite.....mais je ne sais pas comment préciser informatiquemetnt ces 2 zones du .doc !!

    aalex_38 tu as bien compris mon pb!!

    comment savoir la facon de savoir où se placer dans ces emplacements pour faire le collage ?! (c'est clair cette phrase ??!!)

  10. #10
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Trouves un moyen de parcourir tes champs (exemple CTRL + B : ATTEINDRE)
    tout en utilisant l'enregsitreur de macro, tu auras un code qui pourra être adapté.

    Si tu n'y arrive pas, met ton document word en pièce jointe je le ferrai.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    voici le doc en PJ...

    http://www.cijoint.fr/cjlink.php?fil...cijm2CCfL5.doc

    je vais devoir faire la mm chose (réinjecter des valeurs de cellules excel (surmement les mm) dans d'autres fiches ISO similaires) donc j'aimerais bien que tu m'expliques ce que tu vas faire histoire que je puisse le reproduire...

    merci!!

  12. #12
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Re,


    Difficile de travailler sur ton document, car il est protègé par mot de passe.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    ici la PJ si l'autre lien ne fonctionne pas:

    http://www.megaupload.com/?d=5Q288WKZ

    aa m....e !!

    tu sais comment faire ou non?!

    essai "AgrupuG2" sinon mais je ne pense pas.......

    un simple "Ctrl+V" sur le .doc permet de coller le contenu de la cellule excel au bon endroit....
    une tabulation permet de se mettre sur l'autre endroit du fchier .doc où coller le contenu d'une autre cellule excel...

  14. #14
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    A mon avis lorsque tu ouvres ton document, tu est déja positionné sur le premier champ.
    essai
    Le mieux evidemment est de se placer directement sur le champ.

    Je te laisse regarder ce lien qui peut servir ici

    Bon finalement j'ai trouvé comment se placer sur ta zone:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selection.GoTo What:=wdGoToBookmark, Name:="Texte1"
    Selection.GoTo What:=wdGoToBookmark, Name:="Texte2"
    Le reste ne devrait pas poser de problème. Sinon tu dis

    Tu peux voir ça en faisant ATTEINDRE/SIGNET

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selection.GoTo What:=wdGoToBookmark, Name:="Texte1"
    Selection.GoTo What:=wdGoToBookmark, Name:="Texte2"
    c'est pr atteindre mes 2 zones c'est ca?! (nommée Teste1 et Texte2)

    et pr coller le contenu de ma cellule je mets quoi et ou (dsl mais je ss pas brillant ) :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
          With DocWord
        Set AppWord = CreateObject("Word.Application")
        Application.DisplayAlerts = True
        AppWord.ShowMe
        AppWord.Visible = True
        Set DocWord = AppWord.Documents.Open("Y:\TKAF\R04\A422\_Commun-Agence\Roger\Fiches ISO\Suivi chantier mod.doc", ReadOnly:=False)
            End With
        With AppWord
    ThisWorkbook.Worksheets("Feuil1").Range("C9").Copy
    With ActiveDocument.Tables(2).Cell(1, 2)
    .Range.Paste
    .Select
    et pr ttes les autres fiches ISO que je dois faire de la meme facon ca sera pareil pr les endroits a remplir:

    Texte1
    Texte2
    Texte3
    .......

    Merci de tte facon pr ta patience et tes coméptences!!

    ok j'ai compris le coup des signets.......

    je met comme code VBA pr coller le contenu de la cellule C9 d'Excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With ActiveDocument.Texte1
    ?! c'est ca ca suffit?!

    Voici ce que j'ai tapé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With AppWord
    ThisWorkbook.Worksheets("Feuil1").Range("C9").Copy
    Selection.Goto What:=wdGoToBookmark, Name:="Texte1"
    With ActiveDocument.Texte1
    .Range.Paste
    .Select
    et bim:

    erreur d'executiion 438 Propriété ou méthode non gérée par cet objet

  16. #16
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Voici un début, mais je n'arrive pas à tabuler automatiquement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Sub transfert()
      With DocWord
      Set AppWord = CreateObject("Word.Application")
        Application.DisplayAlerts = True
        AppWord.ShowMe
        AppWord.Visible = True
        Set DocWord = AppWord.Documents.Open("D:\Macros\cijm2CCfL5.doc", ReadOnly:=False)
            End With
    ThisWorkbook.Worksheets("Feuil1").Range("A1").Copy
    AppWord.Selection.Paste
    ThisWorkbook.Worksheets("Feuil1").Range("B1").Copy
    AppWord.Selection.Paste
     End Sub
    pour envoyer le contenu de ma cellule B1. Si quelqu'un peut y remédier ?

  17. #17
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Voila je viens d'ecrire un code qui fonctionne a adapter :

    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
    Sub WordII()
    Dim Wchemin As String
    Dim wrdApp As Object
    Dim wrdDoc As Object
     
    Wchemin = "D:\...\VBA Excel\...\essai.doc"
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = wrdApp.documents.Open(Wchemin)
    wrdApp.Visible = True
     
     
    wrdApp.Selection.HomeKey Unit:=wdStory
     
    Cells(1, 1).Copy
    wrdApp.Selection.GoTo What:=wdGoToBookmark, Name:="Texte1"
    wrdApp.Selection.Paste
    Cells(2, 1).Copy
    wrdApp.Selection.GoTo What:=wdGoToBookmark, Name:="Texte2"
    wrdApp.Selection.Paste
     
    End Sub
    erreur d'executiion 438 Propriété ou méthode non gérée par cet objet
    Evidemment car tu dois faire référence a word au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Goto What:=wdGoToBookmark, Name:="Texte1"
    Tu dois mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Selection.Goto What:=wdGoToBookmark, Name:="Texte1"

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    rraaaaa je viens de prendre une erreur 4120 paramètre incorrect dans ce script la:

    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
    Dim Wchemin As String
    Dim wrdApp As Object
    Dim wrdDoc As Object
     
    Wchemin = "Y:\TKAF\R04\A422\_Commun-Agence\Roger\Fiches ISO\Suivi chantier mod.doc"
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = wrdApp.documents.Open(Wchemin)
    wrdApp.Visible = True
     
     
    wrdApp.Selection.HomeKey Unit:=wdStory  <--ICI  !!!!!!!
     
    Cells(3, 9).Copy
    wrdApp.Selection.Goto What:=wdGoToBookmark, Name:="Texte1"
    wrdApp.Selection.Paste
    Cells(3, 7).Copy
    wrdApp.Selection.Goto What:=wdGoToBookmark, Name:="Texte2"
    wrdApp.Selection.Paste
       
    End Sub
    en tt cas merci a tous pour votre implication et votre patience!!!!

  19. #19
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    regarde si tu as bien coché la référence word.

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Désolé, mais je ne sais pas en quoi cela sert... Ou de fait ou cela se trouve

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [XL-2013] Macro VBA copié/collé de données
    Par tomnacer dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/05/2015, 10h36
  2. XL 2007 : Macro recherche/copie valeur cellule comprise en 2 valeurs
    Par toom38 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/07/2014, 14h19
  3. [XL-2010] Macro VBA copie tableau Excel sous Powerpoint
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/04/2012, 09h47
  4. Copie de cellules Excel vers de nouveaux tableaux WORD
    Par pinhead dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/01/2008, 16h00
  5. VBA 'copie de fiers excel ou access
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 02/07/2006, 18h17

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