VBA copier cellule excel et coller dans tableau word
Résolu
Teomer
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
J'ai un petit soucis avec un programme en VBA (je commence à peine). A partir d'un tableau Excel, je voudrais sélectionner la valeur d'une cellule, la copier, et la coller dans un tableau créé dans un document Word. Mon code commence comme ceci:
Sub Macro()
Dim chemin As String
chemin = "Le document Word à ouvrir"
Dim wApp As New Word.Application
wApp.Documents.Open (chemin)
wApp.Visible = True
'Ouvrir le document Word
Ensuite, j'arrive à copier une cellule d'Excel avec la commande Range(":").Copy, mais le problème c'est que je voudrais copier la valeur de la cellule seulement (et non pas le cadre de la cellule).
Puis au moment de coller la valeur dans le document Word, j'arrive à la coller au début du document, mais pas à un endroit précis, parce que je n'arrive pas à repérer les cases de mon tableau Word.
J'espère avoir été clair, merci d'avance pour ceux qui essaieront d'y répondre et un grand merci à ceux qui y arriveront :)
J'ai un petit soucis avec un programme en VBA (je commence à peine). A partir d'un tableau Excel, je voudrais sélectionner la valeur d'une cellule, la copier, et la coller dans un tableau créé dans un document Word. Mon code commence comme ceci:
Sub Macro()
Dim chemin As String
chemin = "Le document Word à ouvrir"
Dim wApp As New Word.Application
wApp.Documents.Open (chemin)
wApp.Visible = True
'Ouvrir le document Word
Ensuite, j'arrive à copier une cellule d'Excel avec la commande Range(":").Copy, mais le problème c'est que je voudrais copier la valeur de la cellule seulement (et non pas le cadre de la cellule).
Puis au moment de coller la valeur dans le document Word, j'arrive à la coller au début du document, mais pas à un endroit précis, parce que je n'arrive pas à repérer les cases de mon tableau Word.
J'espère avoir été clair, merci d'avance pour ceux qui essaieront d'y répondre et un grand merci à ceux qui y arriveront :)
A voir également:
- VBA copier cellule excel et coller dans tableau word
- Tableau word - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Word 2013 - Télécharger - Traitement de texte
- Imprimer tableau excel sur une page - Guide
2 réponses
Bonjour,
Voici un code qui devrait t'aider.
Pour info :
1- j'ai appelé les 22 signets de mon doc word : sig1 sig2 sig3 etc sig22
2- j'ai stocké les valeurs dans excel de la colonne A à la colonne V
Ces deux paramètres seront donc à adapter à ton cas.
Ce qui donne :
Voici un code qui devrait t'aider.
Pour info :
1- j'ai appelé les 22 signets de mon doc word : sig1 sig2 sig3 etc sig22
2- j'ai stocké les valeurs dans excel de la colonne A à la colonne V
Ces deux paramètres seront donc à adapter à ton cas.
Ce qui donne :
Sub Macro() Dim chemin As String Dim wApp As New Word.Application Dim MesDonnees() Dim Ligne As Long 'Collecte des données Ligne = InputBox("A qu'elle ligne se trouvent vos données", "Saisir Numéro de ligne") '**** A ADAPTER : MesDonnees = Sheets("Feuil1").Range("A" & Ligne & ":V" & Ligne).Value 'Ouvrir le document Word '**** A ADAPTER : chemin = "Le document Word à ouvrir" wApp.Documents.Open (chemin) wApp.Visible = True 'coller les données With wApp.Selection For Ligne = 1 To 22 '**** A ADAPTER : .Goto What:=wdGoToBookmark, Name:="sig" & Ligne '**** A ADAPTER : .Bookmarks("sig" & Ligne).Range = MesDonnees(1, Ligne) Next End With End Sub
PS: En fait, ce qu'il faut que je fasse, c'est:
-> ouvrir le document Word,
->demander à quelle ligne sont les informations désirées ( i = InputBox("Quelle est la ligne?")),
-> copier la valeur de la première cellule de la ligne et la coller au bon endroit du tableau Word.
-> copier la valeur de la dexième cellule de la ligne et la coller au bon endroit du tableau Word.
-> Et ainsi de suite jusqu'à la fin (soit 22 cellules)
Merci d'avance
-> ouvrir le document Word,
->demander à quelle ligne sont les informations désirées ( i = InputBox("Quelle est la ligne?")),
-> copier la valeur de la première cellule de la ligne et la coller au bon endroit du tableau Word.
-> copier la valeur de la dexième cellule de la ligne et la coller au bon endroit du tableau Word.
-> Et ainsi de suite jusqu'à la fin (soit 22 cellules)
Merci d'avance
(Pour repérer les cases du tableau Word, on m'a conseillé d'utiliser des signets, mais je ne vois pas du tout comment je pourrais coder cela...)
J'ai donc 22 signets pour désigner les 22 cases de mon tableau Word. Il faut donc que je copie la valeur d'une cellule Excel et que je la colle dans le document Word à l'emplacement du signet correspondant. J'avance petit à petit, mais avec un coup de main, j'y arriverais plus vite! :)
Merci d'avance
Merci d'avance
"MesDonnees = Sheets("Feuil1").Range("A" & Ligne & ":V" & Ligne).Value"
"Erreur d'exécution '9': L'indice n'appartient pas à la selection."
Cette erreur vient-elle du fait que l'on utilise "&" qui est l'opérateur de concaténation de chaînes de caractères? Du coup, comment corriger cette erreur? Merci encore :)
Tu peux nous le passer en utilisant cjoint.com
De rien.
A+