RechercheV en boucle

Bonsoir à tous !

Après de nombreuses heures de recherches, je finis par publier ma demande ici.

Je souhaite utiliser le principe de la rechercheV, mais au lieu qu'elle s'arrête dès la première référence trouvée, qu'elle continue sa recherche si la référence renvoie à une cellule vide (ou ""), jusqu'à ce qu'elle trouve une référence qui renvoie à une cellule non vide.

Un dessin valant mieux qu'un long discours, vous trouverez ci-joint un exemple simplifié de ce que je voudrais.

En G16, la valeur renvoyée est "0", alors que je voudrais "G".

89pbformule.xlsx (9.91 Ko)

Merci pour votre temps !

Bien à vous,

Deepel

Bonjour Deepel

Peu importe que la formule soit utiliser sur une plage trier croissant ou décroissant, ce n'est pas possible, ou sinon il y a peut être une solution avec une formule matricielle (très gourmande pour les grande plage).

Sans savoir la finalité de la demande, je pense que la meilleur solution est de créer une fonction perso (vba), à voir ?

Bonjour

Regarde ce fichier, il utilise une fonction type RecherchV, la différence c'est qu'elle renvoi l'ensemble des valeurs trouvées.

Si tu saisis un Z en dernière ligne correspondant au N°1, alors 1 renvoi : GZ.

tu peux si tu le souhaite, mettre un séparateur entre chaque valeur renvoyée.

Cordia5

Bonjour et merci pour votre réactivité !

@CORDIA5 Ta fonction personnalisée marche vraiment bien et répond parfaitement à mon besoin ! Cependant, ma véritable base fait 45000 lignes et j'ai l'impression que la fonction ne peut en supporter plus de 32 767 dans la zone de recherche (sinon ça renvoie "#VALEUR!"). Un moyen pour contourner ce problème ?

Bonjour,

modifier la ligne

Dim nbLignes As Integer

par

Dim nbLignes As Long

C'est parfait !!! Un grand merci !!!

bonsoir

tant pis car pour 45000 lignes ........ VBA

=SIERREUR(INDEX(C$2:C$10;SOMMEPROD((A$2:A$10=F16)*(C$2:C$10<>"")*(LIGNE(C$2:C$10)))-1);"")

cordialement

Rechercher des sujets similaires à "recherchev boucle"