Extraction données formulaire Word vers Excel

Fermé
jojolafripouille Messages postés 2 Date d'inscription jeudi 18 avril 2013 Statut Membre Dernière intervention 18 avril 2013 - 18 avril 2013 à 10:19
jojolafripouille Messages postés 2 Date d'inscription jeudi 18 avril 2013 Statut Membre Dernière intervention 18 avril 2013 - 18 avril 2013 à 16:21
Bonjour,

J'ai réalisé un formulaire sur Word à l'aide de boutons radio (ou option button). Je souhaite pouvoir extraire les données afin de les traiter dans un tableur Excel. Voici le code que j'ai fait :

Dim appWord As Word.Application
Set appWord = CreateObject(Class:="Word.Application")
appWord.Visible = True
appWord.Documents.Open Filename:=pathToDocument, ReadOnly:=True

Dim DocWord As Word.Document
Set DocWord = GetObject(pathToDocument)
DocWord.Activate

j = 1
iField = 1
iQuestion = 0
iPart = 0

Dim oShape As Word.InlineShape
For Each oShape In DocWord.InlineShapes()
Dim myObj As Object
*With oShape.OLEFormat.Activate
Set myObj = oShape.OLEFormat.Object
End With
If myObj.Value = True Then
Application.Workbooks(1).Worksheets(iPart + 1).Cells(i, j).Value = 1
Else
Application.Workbooks(1).Worksheets(iPart + 1).Cells(i, j).Value = 0
End If

(...)

Le gros problème est que j'ai toujours le même message d'erreur qui s'affiche :
"Object Variable or With Block Variable not Set". Quand je debug, il me surligne la ligne * en me disant que myObj = nothing.

Est-ce que quelqu'un saurait m'aider ? Pour info, je suis sous Office 2010.

Merci d'avance !
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
18 avril 2013 à 11:25
Bonjour,

*With oShape.OLEFormat.Activate Enlevez : .Activate
0
jojolafripouille Messages postés 2 Date d'inscription jeudi 18 avril 2013 Statut Membre Dernière intervention 18 avril 2013
18 avril 2013 à 16:21
J'ai essayé avec :


For Each oShape In DocWord.Shapes()
Dim myObj As Object
Set myObj = oShape.OLEFormat.Object
If myObj.Value = True Then
Application.Workbooks(1).Worksheets(iPart + 1).Cells(i, j).Value = 1
Else
Application.Workbooks(1).Worksheets(iPart + 1).Cells(i, j).Value = 0
End If


Ca ne marche toujours pas...
0