'CheminCellule est de la forme 'Chemin[classeur]Feuille'!AdresseRange, Chemin[classeur] et "'" sont facultatifs à remarquer qu'il y a 2 apostrophes "'"
Function CheminCheminCellule(CheminCellule As String) As String
If InStr(CheminCellule, "[") = 0 Then
CheminCheminCellule = ""
Exit Function
End If
CheminCheminCellule = Mid(CheminCellule, 2, InStr(CheminCellule, "[") - 1)
End Function
Function ClasseurCheminCellule(CheminCellule As String) As String
If InStr(CheminCellule, "[") = 0 Then
ClasseurCheminCellule = ""
Exit Function
End If
ClasseurCheminCellule = Mid(CheminCellule, InStr(1, CheminCellule, "[") + 1, InStr(1, CheminCellule, "]") - InStr(1, CheminCellule, "[") - 1)
End Function
Function FeuilleCheminCellule(CheminCellule As String) As String
Dim DebutNomFeuille As Long
Dim FinNomFeuille As Long
If InStr(CheminCellule, "'") = 0 Then
DebutNomFeuille = InStr(CheminCellule, "]") + 1
FinNomFeuille = InStr(CheminCellule, "!") - 1
Else
DebutNomFeuille = IIf(InStr(CheminCellule, "]") = 0, 1, InStr(CheminCellule, "]")) + 1
FinNomFeuille = InStr(2, CheminCellule, "'") - DebutNomFeuille
End If
FeuilleCheminCellule = Mid(CheminCellule, DebutNomFeuille, FinNomFeuille)
End Function
Function AdresseRangeCheminCellule(CheminCellule As String) As String
'Attention l'adresse est sous la forme L1C1
AdresseRangeCheminCellule = Right(CheminCellule, Len(CheminCellule) - InStr(CheminCellule, "!"))
End Function