Compilation de donnée

Résolu
Hugerato Messages postés 12 Statut Membre -  
Behippie Messages postés 14 Statut Membre -
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 Statut Membre
 
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
pero
 
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 Statut Membre > pero
 
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 Statut Membre
 
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 Statut Membre > pero27
 
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 Statut Membre
 
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 12 Statut Membre
 
Merci Beaucoup!
0