Je cherche le moyen d'exploiter via une fonction perso non pas les valeurs contenues par les cellules passées en argument mais leurs adresses (idéalement leur ligne). Par exemple, si j'appelle au sein d'une cellule quelconque la fonction Mafonction avec comme arguments une suite d'adresses de cellules, par ex. : Mafonction(G101;G105;G108;G110). Si ma Mafonction dans vba se présente de la manière suivante :
Code:
Function Mafonction(ParamArray ref_index() As Variant) As String
For i = 0 To UBound(ref_index())
ligne_courante = ref_index(i)
... suite du traitement ...
Next i
End function
ref_index() renvoie le contenu des cellules pointées par G101, G105, G108 et G110, mais ce que je souhaite exploiter ici c'est l'adresse et plus précisémment la ligne de ces cellules (101, 105, 108, 110). Une suggestion ?
Je ne suis pas sur d'avoir tout compris, mais peut-être que tu peux essayer ça :
Function Mafonction(ParamArray ref_index() As Variant) As String
Dim i As Byte
Dim ligne_courante As Long For i = 0 To UBound(ref_index())
ligne_courante = ref_index(i).Row ' ... suite du traitement ... Next i End Function
Merci myDearFriend! Cette solution m'avait bien traversé l'esprit mais je l'ai repoussé l'idée aussi sec car cela ne me semblait pas très logique, mais à présent oui (les arguments passés en paramètres à la fonction sont donc polymorphiques).
Merci encore pour cette réponse bien sentie et douce nuité à toi myDearFriend.