Bonjour,
je suis tout débutant en VBA et j'essaye de me débrouiller en tatonnant.
J'ai un stock de 113 formulaires WORD contenant chacun 119 champs. Je veux dépouiller tout cela pour en faire un tableau excel (puis une base mysql). J'ai trouvé un code source qui permet de faire cela sur de petits formulaires alors j'ai essayé de l'adapter à mon formulaire. Après quelques efforts, j'ai obtenu quelque chose qui fonctionne mais seulement jusqu'à 67 variables.
Le problème semble ridiculement simple: l'éditeur VB n'accpete pas, d'après ce que j'ai compris, que la ligne d'instruction dépasse une certaine longueur; je suis donc forcé de m'arrêter après la 67e variable.
Comment faire pour rentrer mes 119 variables?
Je précise que j'utilise VB 1987-1996 avec Excel97 (eh oui...)

Je vous serais très reconnaissant de m'aider.
Merci d'avance
cordialement
Nicolas

PS: ci-dessous, le code source en question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub récupbiblio()
'
' récupbiblio Macro
' Macro enregistrée le 03/10/2008 par xxx
'
' Touche de raccourci du clavier: Ctrl+r
'
Dim Fich As Worksheet
Set Fich = ThisWorkbook.Worksheets("Toutes_fiches")
chemin = "C:\Documents and Settings\X300 1\Bureau\Euterpe\fiches biblio Euterpe\"
mesfichiers = Dir(chemin & "*.doc")
Dim Variables As Variant
Variables = Array("datecréation","rédacteur","typedefichepoème","typedefichethéorique","typeautreprécisez","titrevolume","complémentdutitre","date","précisiondate","annéeRP","éditeur","collec","ville","numéro","format","taille","pages","pagespréface","cote","lieu","autrelieu","txt1","débuttxt1","fintxt1","texteretenu2","débuttxt2","fintxt2","texteretenu3","débuttxt3","fintxt3","autrestextesretenus","auteur","auteurprénom","pseudo","datedenaissance","lieudenaissance","datedemort","lieudemort","formation","autreformation","études","profession","autreprofession","statutauteursecond1","statutsec1précisez","autresauteurs","prénomsecondaire1","statutsec2","statutsec2préc","auteursec2nom","auteursec2prénom","statutsec3","statutsec3préc","auteursec3nom","auteursec3prénom","notes","ratio","paratexte","illust","destinataires","autreséditions","annotations","provenance","état","poèmeisoléenvers","commpoisolévers","poèmeisoléenprose","commpoisoléprose", "recueilenvers","commrecueilvers","recueilenprose","commrecueilpros
e", "poèmevolumenevers", "commpovolvers", "poèmevolumeenprose", "commpovolprose", "textedescientifique", "commtxtdesci", "txtdevulg", "commtxtdevulg", "txtrefusé", "commtxtrefusé", "matière1", "matière2", "matière3", "matière4", "thèmes", "motsclés", "savant1", "savant2", "savant3", "savant4", "savant5", "savant6", "savant7", "savant8", "savant9", "savant10", "nbdeversprécis", "nbdeversenviron", "mètreprincipal", "mètreprincipalpréc", "autremètre1", "autremètre1préc", "autremètre2", "autremètre2préc", "autremètre3", "autremètre3préc", "structure", "commentaires", "dumême", "hypotextes", "poèmesconcurrents", "citations", "réception", "critique", "travaux", "publiable", "commpubliable")
nb_Champs = 119
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 <> "tableau Euterpe.xls" 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