Copie de tableaux sous condition vers Word

smallville

XLDnaute Nouveau
Bonjour à tous !

je bloque sur un petit problème de programmation en VBA sur Excel 2010.

j'aimerais en faite refaire (à l'identique) la fonction "collage avec liaison" présent dans Word, en y AJOUTANT la possibiliter de copier des lignes d'un tableau Excel sous condition. Tous ça coder en VBA dans Excel.

Par Exemple j'ai dans ma colonne A plusieurs ligne (650) avec plusieurs chiffres:
21------------
21------------
22------------
23------------

la fonction devras rechercher les lignes pour lequels dans la colonne "A" d'un document Excel on a le chiffre 21 puis copier les lignes pour ensuite les coller sous forme de tableau dans Word. Idem pour les lignes qui contiènnent 22 ( les tableaux seront coller l'un en dessous de l'autre)

je vous joint ce que j'ai déjà réussi à faire, ou à ne pas faire puisque le code ne marche pas :( En plus il copie les lignes de bas en haut, il colle donc la dernière ligne en premier........:confused:

Sub copie_dans_word()
Dim oExcel As New Excel.Application
Dim PlageUtile As Range
Dim Ligne As Range
Dim Origine As Worksheet


'Créer une instance de word
Set oWord = CreateObject("Word.Application")

'définition de l'origine dans Excel
Set Origine = Worksheets("num1")
Set PlageUtile = Range(Origine.Cells(3, 1), Origine.Cells(1, 1).SpecialCells(xlLastCell))
Set wordApp = GetObject(, "Word.Application")

'Copier une plage depuis Excel
For Each Ligne In PlageUtile.Rows
If Ligne.Cells(1, 1).Value = "21" Then
Ligne.Copy
End If

'Ouvrir un nouveau document
oWord.Documents.Open "C:\Users\s.kohler\Documents\doc2.docx"

'rendre le document word visible
oWord.Visible = True

'cherche le signet dans la feuille word
oWord.Selection.Goto Name:="signet1"

'Coller la plage dans Word
oWord.Selection.PasteAndFormat (wdPasteDefault)

Next
End Sub



Voila, si quelqu'un à une petite idée ou quoi que ce soit qui pourrait m'aider, :eek:
Merci d'avance.
 

Yaloo

XLDnaute Barbatruc
Re : Copie de tableaux sous condition vers Word

Bonsoir smallville et bienvenu sur XLD,
Bonjour tout le monde,

Le mieux serait de joindre les fichiers de base excel et word, avec les données que tu as au départ et les données que tu souhaites à l'arrivée.

A te relire

Martial
 

smallville

XLDnaute Nouveau
Re : Copie de tableaux sous condition vers Word

Bonjour Martial,
Bonjour tout le monde,

Merci pour ta réponse,:D

ci-joint mes deux documents. J'ai du remplacer le texte du document Excel par des croix .... je ne peux pas tout montrer désoler, mais ça ne devrais pas nous gêner.....

dans le module 1 du doc Excel il faudra changer le chemin de destination du document Word puis il restera plus qu'a appuyer sur le bouton présent sur la première feuille (num1) pour lancer la macro.... théoriquement ça devrais fonctionner plus ou moins bien, ça bug encore par moment

ps: on ne voit pas très bien le bouton qui se situe au niveau des ligne 6,7,8 je l'ai mis vite fait :eek:

Dans l'attente d'une réponse,
Bonne journée et bonne chance avec mon code.;)

smallville.
 

Pièces jointes

  • Word réception.docx
    22.2 KB · Affichages: 26
  • Excel de Base.xlsm
    247.6 KB · Affichages: 49

Yaloo

XLDnaute Barbatruc
Re : Copie de tableaux sous condition vers Word

Bonjour smallville, le forum,

Désolé je n'avais pas vu ta réponse :(

Le mieux serait peut-être de faire un tableau (soit un array soit dans une feuille annexe) avec tes données, puis ensuite les copier à tes différents signets Word.
Voir aussi le nombre de colonne car 60 colonnes dans une feuille Word ça risque d'être assez imbuvable.
Dans ta macro Excel, tu lances une macro Word avant de réaliser tes tableaux, afin de supprimer tous les tableaux existants. Je n'ai pas vu de macro dans Word, elle ne supprime pas les signets ?

A te relire

Martial
 

smallville

XLDnaute Nouveau
Re : Copie de tableaux sous condition vers Word

Bonjour tous le monde
Bonjour Martial,

Merci pour ta réponse, je vais essayer ta solution. j'ai modifier entre temps la macro et depuis ça fonctionne mieux même si je crains, qu'avec le nombre de tableau, que la macro risque de planté. Pour l'instant je ne suis pas encore à la fin de mon travail donc il faudra que je test.

Au final chaque tableau auras 35 colonnes, ça rentre sans problème dans Word puisque j'ai tourné les pages en mode paysage et il y auras environ 50 tableaux traité par la macro.

J'ai transmis le mauvais document Word dsl, voici le bon. la macro est dans le module 1 ( il faudra renommer les chemins d’accès et le nom du document pour tester la macro).
Et nom la macro dans Word ne supprime pas les signets mais que les tableaux de plus j'ai bloqué les signets (dans Word onglet: QuickPart/Champ.../Catégories: "Automatisation"/Nom de champs: "BoutonAtteindre" puis choisir le nom du signet)

Voila, je reviendrais vers le forum quand j'aurais avancé et testé ta proposition.
merci encore
smallville.
 

Pièces jointes

  • doc2.docx
    23.2 KB · Affichages: 26
  • doc2.docx
    23.2 KB · Affichages: 33
  • doc2.docx
    23.2 KB · Affichages: 35

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T