Bonjour
@Daniel Desch, job75
,
J'avais commencé. J'ai terminé donc je publie.
Je n'ai pas compris la même chose. Je me base sur votre
premier énoncé de question que vous avez modifié par la suite (la notion de sens de recherche a disparu, l'exemple de colonnes I à K a été supprimé !).
Comment voulez-vous qu'on vous propose quelque chose qui se tient si vous changez la question sans prévenir?
Avec ce que j'avais compris (pour la recherche en ligne), on recherche dans les lignes (1ère ligne puis 2ème ligne, etc.) de la plage origine la première cellule respectant les critères. Cette cellule devient la cellule du coin supérieur gauche de la plage résultat. Ensuite, à partir de cette cellule, on étend cette plage vers la droite jusqu'à la cellule précédant la première cellule ne respectant plus les conditions.
On étend ensuite la plage trouvée, ligne par ligne, vers le bas tant que toutes les cellules de la ligne respectent les conditions.
Ce raisonnement aboutit à une fonction qui respecte les résultats que vous souhaitiez avant de modifier votre énoncé, à savoir:
'***************************************************************************************************************
Fonction à utiliser :
Plage_SiEntre(xrg, xMin, xMax, xSens)
paramètre 1 -> la plage à examiner
paramètre 2 -> la valeur minimum à considérer
paramètre 3 -> la valeur maximum à considérer
paramètre 4 -> c'est un paramètre optionnel
- si paramètre 4 absent, on examine la plage par ligne: ligne 1 puis ligne 2, etc.
- si paramètre 4 présent (égal à n'importe quoi), on examine la plage par colonne: colonne 1 puis colonne 2, etc.
La fonction retourne un
RANGE
Si aucune cellule ne vérifie les condition alors Plage_Si retourne
NOTHING
'***************************************************************************************************************