XL 2016 Recherche horizontale de droite vers Gauche dans des cellules non adjacentes

Mongo

XLDnaute Junior
Bonsoir,

Je n'arrive pas à trouver comment trouver la dernière cellule non vide, dans une série de cellules non adjacentes, en recherchant de la droite vers la gauche.
La formule =RECHERCHEH(9^9;A2:L2;1;1) ne fait pas l'affaire car elle recherche dans toutes les cellules de la ligne alors que je souhaite chercher dans certaines cellules uniquement.
Je vous joins un fichier exemple.

Merci d'avance si l’un d'entre vous connaît la solution, ;)

Pascal
 

Pièces jointes

  • Test recherche Horizontale.xlsx
    10.2 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Mongo,
En PJ avec une fonction perso :
VB:
Function LastValo(Lig, Col)
    Application.Volatile
    For i = Col - 1 To 1 Step -1
        If Cells(1, i) = "Valo" And Cells(Lig, i) > 0 Then
            LastValo = Cells(Lig, i)
            Exit Function
        End If
    Next i
    If LastValo = 0 Then LastValo = ""
End Function
La syntaxe à utiliser est =LastValo(LIGNE();COLONNE()) sans rien modifier.
 

Pièces jointes

  • Test recherche Horizontale(V2).xlsm
    21.2 KB · Affichages: 4

JHA

XLDnaute Barbatruc
Bonjour à tous,

Si tu recherches la valeur sous un mois, à essayer:
VB:
=INDEX($A$2:$L$2;GRANDE.VALEUR(SI(($B$1:$L$1="Valo")*($A$2:$K$2<>"");COLONNE($A$2:$K$2));1))
sous "Valo"
Code:
=INDEX($A$2:$L$2;GRANDE.VALEUR(SI(($A$1:$L$1="Valo")*($A$2:$L$2<>"");COLONNE($A$2:$L$2));1))
Formules matricielles

JHA
 

Pièces jointes

  • Test recherche Horizontale.xlsx
    10.9 KB · Affichages: 6

Mongo

XLDnaute Junior
Bonjour,

J'ai un souci pour intégrer cette formule à mon fichier, j'obtiens le résultat #Ref!.
J'ai fait une copie simplifiée de mon classeur.
En testant les colonnes R à AB, je souhaite récupérer la dernière valeur différente de "" des colonnes Valo (la plus à droite).
Je devrais obtenir un résultat de 2022 !!!

Par avance merci
 

Pièces jointes

  • Classeur1.xlsx
    19.8 KB · Affichages: 3
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer,
VB:
=INDEX($R4:$AB4;GRANDE.VALEUR(SI(($R$3:$AB$3="Valo")*($R4:$AB4<>"");COLONNE($R4:$AB4)-17);1))


la plage de données est "R4:AB4"
colonne(R4:AB4) renvoie {18.19.20.21.22.23.24.25.26.27.28}
colonne(R4) = 18
colonne(R4:AB4)-17 renvoie {1.2.3.4.5.6.7.8.9.10.11}

JHA
 

Pièces jointes

  • Classeur1 (14).xlsx
    20.2 KB · Affichages: 3

Discussions similaires

Réponses
7
Affichages
489