J'essaye à l'aide d'une macro de récupérer un tableau dans un document Word
pour le coller dans une feuille excel.
Voici mon code (qui malheureusement ne fonctionne pas):
Public Sub Ouvre_doc()
Application.DisplayAlerts = False
Dim wrd As Object
Set wrd = CreateObject("Word.Application")
wrd.Documents.Open Filename:=ccepfichier
With wrd
.Selection.HomeKey Unit:=wdStory
.Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=5,
Name:=""
.Selection.Find.ClearFormatting '
.Selection.MoveDown Unit:=wdLine, Count:=NBligne,
Extend:=wdExtend
.Selection.MoveRight Unit:=wdCharacter, Count:=NBcolonne,
Extend:=wdExtend
.Selection.Copy
End With
' Copie des données dans Excel
ThisWorkbook.Worksheets("Feuil1").Paste
wrd.Quit
Set wrd = Nothing
Exit Sub
Quelqu'un peut-il m'aider ?
Merci
cordialement
andré
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
PMO
Bonjour,
J'ai testé votre code en apportant des modifications et il fonctionne chez moi. Comme vous n'êtes pas explicite sur le message d'erreur obtenue, la liste suivante pourra peut-être vous mettre sur la piste. MODIFICATIONS 1) Vous utilisez des constantes de Word (wdStory, Wd…) j'ai donc référencé Word dans le VBE par menu Outils/Références Microsoft Word x.0 Object Library 2) Changement de la ligne Exit Sub par End Sub 3) Changement de ccepfichier par "c:test.doc" (adaptez selon votre .doc) 4) Dim des variables Nbligne et Nbcolonne et affectation Dim Nbligne as long Dim Nbcolonne as long Nbligne = 10 'mettez votre valeur Nbcolonne = 6 'mettez votre valeur 5) Changement de ThisWorkbook.Worksheets("Feuil1").Paste par ThisWorkbook.Worksheets("Test").Paste 'nom d'une feuille valide
Ces modifications vous mettent-elles sur la voie ? Sinon soyez plus explicite quant au message d'erreur et l'endroit où ça stoppe.
Cordialement. -- PMO Patrick Morange
Bonjour à tous,
J'essaye à l'aide d'une macro de récupérer un tableau dans un document Word pour le coller dans une feuille excel. Voici mon code (qui malheureusement ne fonctionne pas):
Public Sub Ouvre_doc() Application.DisplayAlerts = False Dim wrd As Object Set wrd = CreateObject("Word.Application") wrd.Documents.Open Filename:Ìepfichier With wrd .Selection.HomeKey Unit:=wdStory .Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=5, Name:="" .Selection.Find.ClearFormatting ' .Selection.MoveDown Unit:=wdLine, Count:=NBligne, Extend:=wdExtend .Selection.MoveRight Unit:=wdCharacter, Count:=NBcolonne, Extend:=wdExtend .Selection.Copy End With ' Copie des données dans Excel ThisWorkbook.Worksheets("Feuil1").Paste wrd.Quit Set wrd = Nothing Exit Sub
Quelqu'un peut-il m'aider ? Merci cordialement andré
Bonjour,
J'ai testé votre code en apportant des modifications
et il fonctionne chez moi.
Comme vous n'êtes pas explicite sur le message d'erreur obtenue,
la liste suivante pourra peut-être vous mettre sur la piste.
MODIFICATIONS
1) Vous utilisez des constantes de Word (wdStory, Wd…)
j'ai donc référencé Word dans le VBE par menu Outils/Références
Microsoft Word x.0 Object Library
2) Changement de la ligne Exit Sub par End Sub
3) Changement de ccepfichier par "c:test.doc" (adaptez selon votre .doc)
4) Dim des variables Nbligne et Nbcolonne et affectation
Dim Nbligne as long
Dim Nbcolonne as long
Nbligne = 10 'mettez votre valeur
Nbcolonne = 6 'mettez votre valeur
5) Changement de ThisWorkbook.Worksheets("Feuil1").Paste par
ThisWorkbook.Worksheets("Test").Paste 'nom d'une feuille valide
Ces modifications vous mettent-elles sur la voie ?
Sinon soyez plus explicite quant au message d'erreur et l'endroit où ça
stoppe.
Cordialement.
--
PMO
Patrick Morange
Bonjour à tous,
J'essaye à l'aide d'une macro de récupérer un tableau dans un document Word
pour le coller dans une feuille excel.
Voici mon code (qui malheureusement ne fonctionne pas):
Public Sub Ouvre_doc()
Application.DisplayAlerts = False
Dim wrd As Object
Set wrd = CreateObject("Word.Application")
wrd.Documents.Open Filename:Ìepfichier
With wrd
.Selection.HomeKey Unit:=wdStory
.Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=5,
Name:=""
.Selection.Find.ClearFormatting '
.Selection.MoveDown Unit:=wdLine, Count:=NBligne,
Extend:=wdExtend
.Selection.MoveRight Unit:=wdCharacter, Count:=NBcolonne,
Extend:=wdExtend
.Selection.Copy
End With
' Copie des données dans Excel
ThisWorkbook.Worksheets("Feuil1").Paste
wrd.Quit
Set wrd = Nothing
Exit Sub
Quelqu'un peut-il m'aider ?
Merci
cordialement
andré
J'ai testé votre code en apportant des modifications et il fonctionne chez moi. Comme vous n'êtes pas explicite sur le message d'erreur obtenue, la liste suivante pourra peut-être vous mettre sur la piste. MODIFICATIONS 1) Vous utilisez des constantes de Word (wdStory, Wd…) j'ai donc référencé Word dans le VBE par menu Outils/Références Microsoft Word x.0 Object Library 2) Changement de la ligne Exit Sub par End Sub 3) Changement de ccepfichier par "c:test.doc" (adaptez selon votre .doc) 4) Dim des variables Nbligne et Nbcolonne et affectation Dim Nbligne as long Dim Nbcolonne as long Nbligne = 10 'mettez votre valeur Nbcolonne = 6 'mettez votre valeur 5) Changement de ThisWorkbook.Worksheets("Feuil1").Paste par ThisWorkbook.Worksheets("Test").Paste 'nom d'une feuille valide
Ces modifications vous mettent-elles sur la voie ? Sinon soyez plus explicite quant au message d'erreur et l'endroit où ça stoppe.
Cordialement. -- PMO Patrick Morange
Bonjour à tous,
J'essaye à l'aide d'une macro de récupérer un tableau dans un document Word pour le coller dans une feuille excel. Voici mon code (qui malheureusement ne fonctionne pas):
Public Sub Ouvre_doc() Application.DisplayAlerts = False Dim wrd As Object Set wrd = CreateObject("Word.Application") wrd.Documents.Open Filename:Ìepfichier With wrd .Selection.HomeKey Unit:=wdStory .Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=5, Name:="" .Selection.Find.ClearFormatting ' .Selection.MoveDown Unit:=wdLine, Count:=NBligne, Extend:=wdExtend .Selection.MoveRight Unit:=wdCharacter, Count:=NBcolonne, Extend:=wdExtend .Selection.Copy End With ' Copie des données dans Excel ThisWorkbook.Worksheets("Feuil1").Paste wrd.Quit Set wrd = Nothing Exit Sub
Quelqu'un peut-il m'aider ? Merci cordialement andré