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.