Private Sub CommandButton2_Click()
Dim Clas As Workbook, NomClass As String, Feuil As Worksheet
If WB_BASE_CLIENTS = "" Then MsgBox "Variable Public WB_BASE_CLIENTS As String non initialisée.", vbCritical, Me.Caption: Exit Sub
If WS_CLIENTS = "" Then MsgBox "Variable Public WS_CLIENTS As String non initialisée.", vbCritical, Me.Caption: Exit Sub
If IsEmpty(RG_DÉBUT_BASE_CLIENT) Then MsgBox "Variable Public RG_DÉBUT_BASE_CLIENT non définie As Range.", vbCritical, Me.Caption: Exit Sub
On Error Resume Next
NomClass = Mid$(WB_BASE_CLIENTS, InStrRev(WB_BASE_CLIENTS, "\") + 1)
Set Clas = Workbooks(NomClass)
If Err Then
Err.Clear: Set Clas = Workbooks.Open(WB_BASE_CLIENTS)
If Err Then MsgBox "Il n'existe pas de classeur """ & WB_BASE_CLIENTS & """.", vbCritical, Me.Caption: Exit Sub
ElseIf Clas.FullName <> WB_BASE_CLIENTS Then MsgBox "Un classeur """ & Clas.Name & """ est déjà ouvert mais vient de" _
& vbLf & Clas.FullName & " et non de" & vbLf & WB_BASE_CLIENTS, vbCritical, Me.Caption: Exit Sub
End If
Set Feuil = Class.Worksheets(WS_CLIENTS)
If Err Then MsgBox "Le classeur """ & Clas.Name & """ ne contient pas de feuille """ & WS_CLIENTS & """.", _
vbCritical, Me.Caption: Exit Sub
Set RG_DÉBUT_BASE_CLIENT = Feuil.[A2]
Unload Me
Uclient.Show
End Sub