Bonjour,
Ne souhaitant pas réinventer la roue, j'ai récupérer du code pour extraire un zip. Le code fonctionne bien, je décide de le mettre dans une Fonction.
Mon soucis, c'est les affectations en début de fonction. Si je fais
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 Function ExtractZip(zipFileLocation As String, outputLocation As String) Dim fso, tempfile, tfolder Dim zipFile, output ' I don't know why but if I didn't do that it doesn't work <= ca c'est moi!!! zipFile = zipFileLocation output = outputLocation ' Shell object Set objShell = CreateObject("Shell.Application") ' File system object Set fso = CreateObject("Scripting.FileSystemObject") ' Extract the file Set FilesInZip = objShell.Namespace(zipFile).items objShell.Namespace(output).CopyHere (FilesInZip) ' Reset variable Set fso = Nothing Set objShell = Nothing End Function
Set FilesInZip = objShell.Namespace(zipFileLocation).items
sans passer par la variable intermédiaire, cela ne fonctionne pas, je me prend l'erreur 91, objet indéfini [Object variable or With block variable not set (Error 91)].
En soi, cela fonctionne et pourrai me convenir, mais je ne comprend pas trop pourquoi je dois utiliser des variables locales, merci de votre aide.
Partager