Function NumeroCellule(xplage, xcell, Optional xParLigne) As Long
' si xParLigne est omis, on calcule le numéro de la cellule xcell en parcourant la plage par colonne
' d'abord colonne 1 de la plage, puis colonne 2 puis... etc. jusqu'à trouver la cellule xcell
' si xParLigne est présent, on calcule le numéro de la cellule xcell en parcourant la plage par ligne
' d'abord ligne 1 de la plage, puis ligne 2... etc. jusqu'à trouver la cellule xcell
If Not Intersect(xplage, xcell) Is Nothing Then
If IsMissing(xParLigne) Then
NumeroCellule = (xcell.Column - xplage.Column) * xplage.Rows.Count + (xcell.Row - xplage.Row + 1)
Else
NumeroCellule = (xcell.Row - xplage.Row) * xplage.Columns.Count + (xcell.Column - xplage.Column + 1)
End If
End If
End Function