Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer donées Word dans excel

1 réponse
Avatar
A QUEMENER
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:=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é

1 réponse

Avatar
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é