Trouver une valeur dans une ligne, partant de la fin
1 réponse
Jean-Luc GARNIER
Bonjour,
J'ai deux petites questions portant sur les fonctions de=20
recherche:
1- j'utilise la formule suivant : RECHERCHE
("p";AH46:DL46;$AH$1:$DL$1), pour trouver dans une ligne=20
la case contenant "P" et en d=E9duire (par lecture de la=20
1=E8re ligne, AH1:DL1) un n=B0 de semaine. Cela semble=20
marcher, le sens de recherche est croissant sur le vecteur=20
de recherche. Mais je souhaite maintenant trouver LA=20
DERNIERE case contenant "P" ! Comment indiquer =E0 RECHERCHE=20
de travailler dans le sens d=E9croissant, c'est =E0 dire de DL=20
vers AH ?
2- question corollaire: cela marche en recherchant une=20
valeur connue. Comment transformer ceci pour retrouver une=20
valeur quelconque, c'est =E0 dire la premi=E8re (ou la=20
derni=E8re) cellule non vide ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bourby
bonjour,
pour une recherche en colonne, exemples à adapter:
-question 1: dans une macro maLigne=Range("Feuil1!A1:A3000").Find("p", , , , , xlPrevious).row
- question 2: =MAX(SI(NON(ESTVIDE(A1:A1000));LIGNE(A1:A1000))) puis utiliser la fonction INDIRECT avec ce n° de ligne.
ou dans une macro: DerniereLigne = Range("a65536").End(xlUp).Row
cordialement
Bourby
"Jean-Luc GARNIER" a écrit dans le message news: 199a901c44d3c$17fcb370$ Bonjour,
J'ai deux petites questions portant sur les fonctions de recherche: 1- j'utilise la formule suivant : RECHERCHE ("p";AH46:DL46;$AH$1:$DL$1), pour trouver dans une ligne la case contenant "P" et en déduire (par lecture de la 1ère ligne, AH1:DL1) un n° de semaine. Cela semble marcher, le sens de recherche est croissant sur le vecteur de recherche. Mais je souhaite maintenant trouver LA DERNIERE case contenant "P" ! Comment indiquer à RECHERCHE de travailler dans le sens décroissant, c'est à dire de DL vers AH ?
2- question corollaire: cela marche en recherchant une valeur connue. Comment transformer ceci pour retrouver une valeur quelconque, c'est à dire la première (ou la dernière) cellule non vide ?
Merci d'avance pour votre aide !
Jean-Luc
bonjour,
pour une recherche en colonne, exemples à adapter:
-question 1:
dans une macro
maLigne=Range("Feuil1!A1:A3000").Find("p", , , , , xlPrevious).row
- question 2:
=MAX(SI(NON(ESTVIDE(A1:A1000));LIGNE(A1:A1000)))
puis utiliser la fonction INDIRECT avec ce n° de ligne.
ou dans une macro:
DerniereLigne = Range("a65536").End(xlUp).Row
cordialement
Bourby
"Jean-Luc GARNIER" <anonymous@discussions.microsoft.com> a écrit dans le
message news: 199a901c44d3c$17fcb370$a101280a@phx.gbl...
Bonjour,
J'ai deux petites questions portant sur les fonctions de
recherche:
1- j'utilise la formule suivant : RECHERCHE
("p";AH46:DL46;$AH$1:$DL$1), pour trouver dans une ligne
la case contenant "P" et en déduire (par lecture de la
1ère ligne, AH1:DL1) un n° de semaine. Cela semble
marcher, le sens de recherche est croissant sur le vecteur
de recherche. Mais je souhaite maintenant trouver LA
DERNIERE case contenant "P" ! Comment indiquer à RECHERCHE
de travailler dans le sens décroissant, c'est à dire de DL
vers AH ?
2- question corollaire: cela marche en recherchant une
valeur connue. Comment transformer ceci pour retrouver une
valeur quelconque, c'est à dire la première (ou la
dernière) cellule non vide ?
pour une recherche en colonne, exemples à adapter:
-question 1: dans une macro maLigne=Range("Feuil1!A1:A3000").Find("p", , , , , xlPrevious).row
- question 2: =MAX(SI(NON(ESTVIDE(A1:A1000));LIGNE(A1:A1000))) puis utiliser la fonction INDIRECT avec ce n° de ligne.
ou dans une macro: DerniereLigne = Range("a65536").End(xlUp).Row
cordialement
Bourby
"Jean-Luc GARNIER" a écrit dans le message news: 199a901c44d3c$17fcb370$ Bonjour,
J'ai deux petites questions portant sur les fonctions de recherche: 1- j'utilise la formule suivant : RECHERCHE ("p";AH46:DL46;$AH$1:$DL$1), pour trouver dans une ligne la case contenant "P" et en déduire (par lecture de la 1ère ligne, AH1:DL1) un n° de semaine. Cela semble marcher, le sens de recherche est croissant sur le vecteur de recherche. Mais je souhaite maintenant trouver LA DERNIERE case contenant "P" ! Comment indiquer à RECHERCHE de travailler dans le sens décroissant, c'est à dire de DL vers AH ?
2- question corollaire: cela marche en recherchant une valeur connue. Comment transformer ceci pour retrouver une valeur quelconque, c'est à dire la première (ou la dernière) cellule non vide ?