Je cherche à utiliser une fonction qui me renverra une plage. Mais Excel doit comprendre que le résultat corresponde bien à une plage. Je m'explique, Je fais ma fonction "Plage", en fonction de critères à rechercher (avec la fonction .find) dans une feuille. Ensuite je dois faire la somme des nombres dans cette plage. Ma formule compilée dans Excel sera donc : =Somme(Plage(critère1;critère2))
Exemple :
Je recherche le nombre 5 (critère1) qui se trouve en A4 et le nombre 7 (critère2) qui se trouve en A12.
Je souhaite ensuite faire la somme de la plage A4:A12 d'où la formule que je souhaite construire =somme(Plage(5;7))
Il faut préciser dans quelle(s) plage(s) se font les recherches de critère1 et critère2.
J'ai supposé qu'il s'agit de la plage A:C de la feuille active.
La fonction dans un Module :
Code:
Function plage(critère1 As Variant, critère2 As Variant) As Range
Application.Volatile
Set plage = Range([A:C].Find(critère1, LookIn:=xlValues, LookAt:=xlWhole), [A:C].Find(critère2))
End Function
Pour la tester entrer (en dehors de A:C pour éviter une référence circulaire) la formule :