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........
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,
Merci d'avance.
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........
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,
Merci d'avance.