Extraire sur excel les retours sondage de formulaires Word

romanza Messages postés 263 Statut Membre -  
romanza Messages postés 263 Statut Membre -
Bonsoir,

Je ne maîtrise pas le VBA mais je sais que la résolution de mon problème passe par là.

Je reçois en retour mail des formulaires word renseignés que je vais placer dans un dossier.

Je souhaite à partir d'une feuille Excel avoir une macro
- qui ouvre l'explorateur et me permette ainside choisir le dossier contenant mes retours enregistrés,
-qui va extraire les champs de chaque formulaire et les mettre dans la feuille Excel qui servira ainsi de base de données.

Merci à vous

7 réponses

  1. romanza Messages postés 263 Statut Membre 2
     
    Bonjour,

    Ci-joint le fichier. Il y a des données textes, des cases à cocher et des listes déroulantes. tous les champs doivent se retrouver dans la base de donnée excel

    https://www.cjoint.com/c/DBkrhjXD8iV

    Merci pour votre réponse
    1
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Bonjour,

      Ce n'est pas optimal, un formulaire Word :
      - nommage des fichiers ;
      - saisie illicite possible ;
      -...
      Mieux vaudrait un formulaire Web alimentant une base de données (il y a des années, j'avais fait un formulaire qui remplissait un simple fichier texte que Excel digérait donc facilement).
      Mais il est peut-être trop tard pour changer de stratégie. Tout le monde remplit-il correctement les formulaires Word ?

      Ta question rejoint un peu celle-ci :
      https://www.developpez.net/forums/d1058192/logiciels/microsoft-office/word/publipostage-inverse-word-excel/#post5875211

      A+
      0
  2. dlt-pan Messages postés 529 Statut Membre 67
     
    bonjour,
    pouvez vous joindre un fichier word (avec Cjoint.com) pour exemple.
    vous collez le lien dans votre reponse.
    est ce que tous les words ont la même structure ?
    voulez vous extraire toutes les données ?
    comment voulez vous organiser les données sur excel ?

    Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément.
    0
  3. dlt-pan Messages postés 529 Statut Membre 67
     
    bonjour,
    on peut developper une macro. j'attends de voir ce que tu decides. j'ai dejà un petit bout de code qui fonctionne pour word
    nota : pourquoi ne pas faire le formulaire sous excel ?
    0
  4. romanza Messages postés 263 Statut Membre 2
     
    Bonsoir, désolé pour la réponse tardive,

    En cherchant j'ai trouvé la macro correspondante. La voici :

    Par contre, je voudrais que l'utilisateur en cliquant sur le bouton de macro puisse d'abord choisir le répertoire pour ouvrir le dossier contenant les formulaire et non lui imposer un emplacement de dossier (en gras) mais je ne sais pas quel code et ou le mettre dans cette macro?
    Merci

    Sub import_client()
    Dim Fich As Worksheet
    Set Fich = ThisWorkbook.Worksheets("Clients")
    chemin = "C:\Documents and Settings\Moi\Bureau\formulaires 1205\"
    mesfichiers = Dir(chemin & "*.doc")
    Dim Variables As Variant
    Variables = Array("NOM", "PRENOM", "NuméroSS", "PasdeNumSS", "Datnaiss", "Paysnaiss", "Comnaiss", "Dept", "Nat", "Sexe", "Adresse", "CP", "Commune", "Télmob", "Télfixe", "mail", "Bourse", "SécuFranceOUI", "ADAssuré", "NomAssuré", "DatenaisAssuré", "LienAssuré", "Autresit", "EuroSuisse", "Plusde28")

    nb_Champs = 24
    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 <> "clients.doc" 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
    Fich.Cells(num_row, i + 1) = FichierWord.activedocument.formfields(Variables(i)).result
    Next i
    FichierWord.documents.Close (0)
    End If
    mesfichiers = Dir
    Loop
    FichierWord.Quit

    End Sub
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dlt-pan Messages postés 529 Statut Membre 67
     
    bonjour tu peux ajouter :
    nom = Application.GetOpenFilename
    If nom = "faux" Then
    Exit Sub
    End If
    Workbooks.Open Filename:=nom
    0
  7. romanza Messages postés 263 Statut Membre 2
     
    Bonjour,

    Si j'ai bien compris, je rajoute cela sur ma macro juste avant End Sub?
    0
  8. romanza Messages postés 263 Statut Membre 2
     
    peux-tu m'indiquer comment je pourrai utiliser ton formulaire Web?
    -1
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Bonjour,

      Je ne l'ai plus. Et c'est vraiment la seule chose que j'ai faite en html/PHP.
      Déjà, il faudrait que tu aies un serveur gérant le PHP sur lequel tu puisses placer le formulaire en question et auquel les gens auraient accès.
      Mon formulaire se basait sur ce genre de choses : https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3/1607171-creez-des-formulaires
      Apparemment, Adobe fait un produit tout intégré gratuit : https://helpx.adobe.com/fr/acrobat/kb/end-of-support-formscentral.html
      Si tu gardes Word, jette un oeil à mon lien d'hier.

      A+
      0