Option Explicit
Private Sub Workbook_Open()
Dim i As Long, DL As Long
Dim Fichier_Source As String, Fichier_Clients As String, fichierOUVERT As String, Le_Chemin As String
Dim Chemin_Clients As String
Dim Le_FichierOUVERT, Le_FICHIER
Application.ScreenUpdating = False
Fichier_Source = "Exemple.xlsx"
Fichier_Clients = "Clients.xlsx"
Chemin_Clients = "C:\Documents and Settings\Etienne\Bureau\"
fichierOUVERT = "non"
For Each Le_FichierOUVERT In Application.Workbooks 'On parcours chacun des classeurs Excel ouverts.
If Le_FichierOUVERT.Name = Fichier_Clients Then 'Vérifie s'il n'est pas déjà ouvert.
fichierOUVERT = "oui" 'Switch
Exit For 'Sort de la boucle
End If
Next Le_FichierOUVERT 'Passe au prochain fichier
If fichierOUVERT <> "oui" Then 'Une fois la boucle complétée, si la Switch n'a pas été tournée à oui, alors ouvre le fichier
Set Le_FICHIER = Workbooks.Open(Filename:=Chemin_Clients & Fichier_Clients, UpdateLinks:=0)
End If
Workbooks(Fichier_Clients).Activate
DL = Cells(65536, 1).End(xlUp).Row
For i = 2 To DL
Workbooks(Fichier_Source ).Sheets("facture de service").ComboBox1.AddItem (Cells(i, 1).Value)
Next i
Workbooks(Fichier_Clients).Close False
Workbooks(Fichier_Source ).Activate
Application.Goto Range("A1"),True
End Sub