Bonjour,
Je cherche à ouvrir un fichier Excel si celui-ci n'est pas déjà ouvert, et ce dans une boucle (j'ai plusieurs fois besoin du même fichier Excel que je renomme en fichierExcel1, fichierExcel2, fichierExcel3, ...).

Voici le code que j'utilise :
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
Sub test()
 
Dim testWkb As Workbook
Dim nomFichierReferentiel As String
Dim chemin As String
 
chemin = "\\Uf11-003\acmdpa\travaux_en_cours\"
nomFichierReferentiel = "Ref Vehicule.xlsm"
i = 0
Do While i < 3
 
    Set testWkb = Nothing
 
    On Error Resume Next
    Set testWkb = Workbooks(nomFichierReferentiel)
    On Error GoTo 0
 
    If testWkb Is Nothing Then
        MsgBox ("Hihi")
        testWkb = Workbooks.Open(chemin & nomFichierReferentiel)
    End If
 
    i = i + 1
 
Loop
 
End Sub
Ce code me renvoie un message d'erreur : Variable objet ou variable de bloc With non définie. La première occurence se passe bien, le fichier Ref Vehicule.xlsm s'ouvre correctement, et le message d'erreur apparaît au deuxième tour de boucle sur la ligne testWkb = Workbooks.Open(chemin & nomFichierReferentiel).

Avez vous une idée de ce qui peut clocher ?

A noter que si je fais tourner la même macro avec le fichier Ref Vehicule.xlsm déjà ouvert, tout se passe bien.

Merci.