Compilation de donnée

Résolu/Fermé
Hugerato Messages postés 10 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 30 novembre 2009 - 20 août 2009 à 15:23
Behippie Messages postés 14 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 31 janvier 2011 - 27 août 2009 à 15:58
Bonjour,


J'ai des formulaires Microsoft word en quantité industriel, ils ont été remplis, maintenant je voudrais compiler les résultats sur excel. Comment faire?

Merci

2 réponses

Behippie Messages postés 14 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 31 janvier 2011
21 août 2009 à 10:58
Bonjour,

Petites question... Est-ce que les champs de tes formulaires ont tous un nom (Signet), si c'est le cas il est possible d'importer toutes les données via une macro...

J'ai du faire un travail similaire alors je peux peut-être aider...

Créer un module dans le classeur excel via le Microsot Visual Basic

Copier la macro ci-dessous

Sub Ici le nom de la macro ()
Dim Fich As Worksheet
Set Fich = ThisWorkbook.Worksheets("Ici le nom de l'onglet du classeur")
chemin = "Ici le chemin d'accès du dossier où sont mis tout tes formulaires\"
mesfichiers = Dir(chemin & "*.doc")
Dim Variables As Variant
Variables = Array("Ici les noms des Signets que tu veux importer Ex: "Nom", "Prénom", "Age", ...")

nb_Champs = Ici le nombre de champs que tu as mis juste en dessus
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 <> "Ici le nom du formulaire vierge.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

Pour finir, créer un bouton que tu affect a ta macro...

bon courage à toi, si il y a des soucis, n'hésite pas
0
Bonjour,
j'ai exactement la même demande, j'ai donc copié cette macro et modifiée pour l'intégrer à mon prjoet, seulement quand je l'éxécute rien ne s'affiche. Je ne comprends pas pourquoi. Pourrais-tu jeter un coup d'oeil et m'aider?
Sub transfert()
Dim a As String
Dim Fich As Worksheet
Set Fich = ThisWorkbook.Worksheets("adm")
chemin = "C:\Documents and Settings\stagiaire\Mes documents\Péroline\Admissions\formulaire"
mesfichiers = Dir(chemin & "*.doc")
Dim Variables As Variant
Variables = "nom" & "prenom" & "nom_jeune_fille" & "sexe_M" & "sexe_F" & "lieu_naissance"

nb_Champs = 6
num_row = 1
i = 0

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

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

Do While mesfichiers <> ""
If mesfichiers <> "." And mesfichiers <> ".." And mesfichiers <> "formulaire admission.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(z)
Next i
FichierWord.documents.Close (0)
End If
mesfichiers = Dir
Loop
FichierWord.Quit

End Sub

Merci
0
Behippie Messages postés 14 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 31 janvier 2011 > pero
27 août 2009 à 14:43
Hello pero,

La première chose que je remarque c'est à la Variable (ligne 8)

Tu dois mettre le mot Array (liste) après le signe =, et les paranthèses....

Ex:

Variables = Array("Nom", "Prénom", "Age")


Bien copier la macro, mais laisser les paranthèses, les "" ,les / et \
Merci de me redire si ça joue

A+
0
pero27 > Behippie Messages postés 14 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 31 janvier 2011
27 août 2009 à 15:21
Bonjour,

j'ai modifé comme tu me l'as dit mais rien ne s'affiche.
je te redonne ma macro :

Sub transfert()
Dim a As String
Dim Fich As String
Fich = "adm"
chemin = "C:\Documents and Settings\stagiaire\Mes documents\Péroline\Admissions\formulaire"
mesfichiers = Dir(chemin & "*.doc")
Dim Variables As Variant
Variables = Array("nom" & "prenom" & "nom_jeune_fille" & "sexe_M" & "sexe_F" & "lieu_naissance")

nb = 6
num = 1
i = 0

For i = 0 To nb_Champs - 1
If Sheets("formulaire").Cells(num, i + 1) = Variables Then
z = Sheets("formulaire").Cells(num, i + 1)
End If
Next i

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

Do While mesfichiers <> ""
If mesfichiers <> "." And mesfichiers <> ".." And mesfichiers <> "formulaire admission.doc" Then
monDocument = chemin & mesfichiers
FichierWord.documents.Open Filename:=monDocument, ReadOnly:=True
num = num + 1
col = 1
For i = 0 To nb - 1
Workbooks(Fich).Activate
Sheets("formulaire").Cells(num, i + 1) = FichierWord.activedocument.formfields(z)
Next i
FichierWord.documents.Close (0)
End If
mesfichiers = Dir
Loop
FichierWord.Quit

End Sub


Aucune erreur ne s'affiche mais les variables ne s'écirvent pas dans le classeur excel...
0
Behippie Messages postés 14 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 31 janvier 2011 > pero27
27 août 2009 à 15:46
Re....

Tu as plein de petites erreurs, as tu vraiment utilisé ma macro.... Pour hugerato ça a marché...

Utilises-tu copier/coller ? ou tu récris manuellement...

Pour pas te prendre le chou, copie la macro avec Ctrl+C, va dans ton module VBA et colle-la...
Tu n'a plus qu'a changer ce qui est en gras sans oublier ce que je t'ai dis dans le message précédent...

Au pire, envoi moi ton fichu dossier :-) J'y verrai plus claire....

A+
0
pero27 > Behippie Messages postés 14 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 31 janvier 2011
27 août 2009 à 15:54
Re,
j'avais copier ta macro mais comme ça ne marchait pas pour moi j'ai fais quelques petites modif... mais ça marche tjs pas!
je t'envoie mon dossier à quelle adresse?

Merci bcp de ton aide
0
Hugerato Messages postés 10 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 30 novembre 2009
25 août 2009 à 16:43
Merci Beaucoup!
0