Exporter données formulaire Word vers Excel

Scapino

XLDnaute Nouveau
Bonjour à tous,

Dans le cadre de mon travail, je dois créer une méthode sur Excel qui permettrait de récupérer les réponses des utilisateurs à mon formulaire. Je me suis inspiré de la méthode décrite ici: HobbesWorld - Tutoriel Word/Excel Recupération d'Info

Le code permet de récupérer la réponse d'un seul formulaire, mais j'ai cette erreur avant la fin de la macro:
Erreur d'exécution '4605'
Erreur définie par l'application ou par l'objet

J'ai même essayé avec l'exemple du lien ci-dessus, mais j'ai bien la même erreur.

Voici mon code en question:

VB:
Sub import_demande()
Dim Fich As Worksheet
Set Fich = ThisWorkbook.Worksheets("Recap")
chemin = "D:\Demande support\"
mesfichiers = Dir(chemin & "*.docx")
Dim Variables As Variant
Variables = Array("Nom", "Prénom", "Qualité", "DateDemande", "Sujet", "Description", "DateRéponse", "RespoRéponse")

nb_Champs = 8
num_row = 1
i = 0

For i = 0 To nb_Champs - 1
  Fich.Cells(num_row, i + 1) = Variables(i)
Next i

Set FichierWord = CreateObject("word.application")
FichierWord.Visible = True
FichierWord.DisplayAlerts = False

Do While mesfichiers <> ""
  If mesfichiers <> "." And mesfichiers <> ".." And mesfichiers <> "Demande_Support.docx" Then
    monDocument = chemin & mesfichiers
    FichierWord.documents.Open Filename:=monDocument, ReadOnly:=True
    num_row = num_row + 1
    num_col = 1
    For i = 0 To nb_Champs - 1
      x = FichierWord.activedocument.formfields(Variables(i)).result
      Fich.Cells(num_row, i + 1) = x
    Next i
    FichierWord.documents.Close (0)
  End If
  mesfichiers = Dir
Loop
FichierWord.Quit

End Sub

Si quelqu'un peut m'aider à résoudre ce petit soucis, ce serait génial !

En vous remerciant d'avance !
 
Dernière édition:

Scapino

XLDnaute Nouveau
Re : Exporter données formulaire Word vers Excel

Rebonjour les amis !

Je souhaiterai améliorer mon code pour ajouter deux petites choses:
- Après récupération des réponses, déplacer les formulaires utilisés dans un nouveau répertoire.
- Ré-exécuter à partir de la dernière ligne remplie (Ne pas écraser les données précédentes)

Je ne sais pas si vous avez compris! Merci pour votre aide =)
 

Statistiques des forums

Discussions
314 587
Messages
2 110 981
Membres
110 999
dernier inscrit
Shiny