Bonjour,

Pouvez vous me dire quelle type de variable strPath je dois déclarer dans la séquence suivante. j'ai essayé as string et as object mais cela ne fonctionne pas.
la séquence est bonne car si j'enlève la mention explicit et que je ne déclare pas la variable, instruction passe.
(le nom du fichier est variable en fonction d'une boucle qui génère des étiquettes à imprimer)
Les exemples FSO que j'ai vu ne déclarent jamais (enfin ceux que j'ai vu) ce fameux strPath !

***** A peine posté, je corrrige *******
Je dois avoir un autre problème car la séquence fonctionne effectivement la première fois dans une boucle, mais au second passage cela bloque erreur 91

Merci
Denis

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
 
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
'Dim strPath As Object
 
'impression des etiquettes
With ThisWorkbook.Sheets("saisie")
 
' check quantités remplies
For Ma_boucle = 13 To 12 + .Range("D10")
If .Range("E" & Ma_boucle) = "" Then MsgBox "saisir la quantité": .Range("E" & Ma_boucle).Select: End
Next
 
'impression des etiquettes
For Ma_boucle = 13 To 12 + .Range("D10")
strPath = "C:\Users\toto\Desktop\" & .Range("D" & Ma_boucle) & "label.txt"     '"C:\temp\MyTestFile.txt"    " & .Range("D" & Ma_boucle) & "
Set oFile = fso.CreateTextFile(strPath)                       '<<<<<<< c'est là que ça bug
oFile.WriteLine "<?xml version=" & """" & "1.0" & """" & "encoding=" & """" & "utf-8" & """" & "?>"
oFile.WriteLine "<Rowset>"
oFile.WriteLine " <Row>"
oFile.WriteLine "<CPUDT>" & Date & "</CPUDT>"
oFile.WriteLine "</Row>"
oFile.WriteLine "</Rowset>"
oFile.Close
Set fso = Nothing
Set oFile = Nothing
Next
End With