Bonjour,
Proposition avec une fonction personnalisée :
Function indirectOffset(offsetFeuille As Long, Optional offsetLigne As Variant, Optional offsetColonne As Variant) As Variant
'Est-on dans le classeur de la fonction ?
If Application.Caller.Parent.Parent.Name <> ActiveWorkbook.Name Then Exit Function
Application.Volatile
If ActiveWorkbook.Name = ThisWorkbook.Name Then
If Not IsMissing(offsetLigne) And IsMissing(offsetColonne) Then
indirectOffset = Sheets(Application.Caller.Worksheet.Index + offsetFeuille).Range(offsetLigne)
Else
indirectOffset = Sheets(Application.Caller.Worksheet.Index + offsetFeuille).Range(Application.Caller.Address).Offset(offsetLigne, offsetColonne)
End If
End If
End Function
Ex syntaxe :
=indirectOffset(-1)
fournir la donnée située sur la feuille précédente, même ligne, même colonne.
=indirectOffset(-2;"$B$4")
fournir la donnée située 2 feuilles à gauche, cellule $B$4
=indirectOffset(1;0;3)
fournir la donnée située sur la feuille suivante, même ligne, 3 colonnes à droite.
Voir PJ
eric