Function Classeur(Optional ByVal ChNomF As String) As Workbook
Rem. — Cherche et renvoie si possible un objet Workbook
' ChNomF: Identification facultative du classeur.
' Si elle est vide ou non spécifiée: renvoie un nouveau classeur.
' Si elle ne comporte pas de "\", cherche un classeur ouvert de ce seul nom spécifié.
' Si elle en comporte, cherche un classeur ouvert du nom donné par ce qui suit le
' dernier "\", et s'il n'y en a pas, tente de l'ouvrir.
Dim P As LongPtr
P = InStrRev(ChNomF, "\")
On Error Resume Next
Set Classeur = Workbooks(Mid$(ChNomF, P + 1)): If Err = 0 Then Exit Function
If P > 0 Then Err.Clear: Set Classeur = Workbooks.Open(ChNomF): If Err = 0 Then Exit Function
If ChNomF <> "" Then Exit Function
Set Classeur = Workbooks.Add
End Function