[Catégorie modifiée VB6 -> VBA] erreur 5941

Signaler
Messages postés
12
Date d'inscription
mercredi 13 mai 2009
Statut
Membre
Dernière intervention
7 avril 2012
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
j'ai un fichier qui se bloque au niveau de la ligne Fich.Cells(num_row, i + 1) = FichierWord.activedocument.formfields(Variables(i)).result
Next i
et il m'indique l'erreur 5941 erreur définie par l'objet ou par l'application

le code est le suivant

Sub import_client()
Dim Fich As Worksheet
Set Fich = ThisWorkbook.Worksheets("All_Clients")
chemin = "C:\latex"
mesfichiers = Dir(chemin & "*.doc")
Dim Variables As Variant
Variables = Array("S1", "S2", "S3", "S4", "S5", "S6", "S7","S8", "S9", "S10", "S11", "S12", "S13", "S14", "S15", "S16", "S17", "S18", "S19", "S20", "S21")
nb_Champs = 21
num_row = 1
i = 0



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

Do While mesfichiers <> ""
If mesfichiers <> "." And mesfichiers <> ".." And mesfichiers <> "tab1_xxx.doc" Then
monDocument = chemin & mesfichiers
FichierWord.documents.Open Filename:=monDocument, ReadOnly:=True
num_row = num_row + 1
num_col = 1
For i = 0 To 17
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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Merci pour votre aide
Cindrella

1 réponse

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Pas bonjour non plus

Tu fais du VBA, pas du VB6

Quand tu colles du code, utilise la coloration syntaxique (3ème icone à droite) = plus facile à relire et conserver les indentations.

Que valent tes variables i, num_row et variables(i) au moment de l'erreur ?

Débogage :
- F9 sur une ligne de code; elle change de couleur
Le programme s'y arrêtera au prochain passage
Survole avec la souris tes variables pour visualiser leur contenu, ou va dans la fenêtre de debogage (Ctrl-G) et tape
? maVariable
pour qu'elle s'inscrive dans la fenêtre.
- F8 (VB6) ou F10 (.Net) pour avancer d'une ligne de code
- F5 pour continuer normalement

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)