Bonjour,

J'ai créé un formulaire sous Word (2003) et j'en importe les champs dans un classeur Excel (2003) via un script VBA créé à l'aide d'un script trouvé sur Internet :

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
Sub auto_open()
Dim Fich As Worksheet
Set Fich = ThisWorkbook.Worksheets("Synthèse")
chemin = "J:\AQ\"
mesfichiers = Dir(chemin & "*.doc")
Dim Variables
Variables = Array("raisonsociale", "adresse", "telephone", "telecopie", "internet", "TVA", "activites", "CA", "livraison", "reglement", "direction", "commercial", "conception", "achats", "production", "CQ", "AQ", "logistique", "RH", "finances", "siteseffectifs", "fabricant", "distributeur", "prestataire", "typedeproduits", "Oui1", "produitslabellises", "Non1", "Oui2", "personnelcertifies", "Non2", "Oui3", "ISO", "Non3", "Date", "Nom", "Titre")

nb_Champs = 37
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 <> ".." 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
L'importation des données se passe bien mais mon soucis vient au nom des colonnes qui sont par défaut le nom des champs (voir code en gras). J'aurais donc aimer savoir s'il était possible de renommer ses champs par des noms un peu plus explicites par un quelquonque moyen... Je ne connais pas assez VBA pour faire cela...

Merci d'avance

BJ