adresse conditionnelle d'une plage

elect31

XLDnaute Nouveau
Bonsoir à tous
Soit une plage contenant des dates , je voudrais identifier, par formule uniquement, l'adresse de la plage de cellules contenant la même date que ma référence.
ex:
en A1= 01/08/2008 =ma référence
en B1:B535= des dates dont certaines peuvent être répétées et toujours triées dans l'ordre.
en C1= =CELLULE("adresse";B1:B535)&":"&CELLULE("adresse";DECALER(B1:B535;LIGNES(B1:B535)-1;COLONNES(B1:B535)-1)) me donne l'adresse de la plage totale, mais... reste plus qu'à appliquer la condition qui me donnerait l'adresse de la plage contenant la date située en A1.

Merci de vos réponses
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : adresse conditionnelle d'une plage

Bonsoir elect31,

En supposant que la plage est rectangulaire et qu'il peut exister plusieurs fois la même date.
Plage de recherche: $D$2:$M$7; date recherchée: $G$10; Nième concordance: H10 (=1); H11(=2)...
La formule est une formule matricielle en I10 à tirer vers le bas.
Code:
=SI(ESTERREUR(PETITE.VALEUR(SI($D$2:$M$7=$G$10;LIGNE($D$2:$M$7)+COLONNE($D$2:$M$7)/1000000;"");H10));"";ADRESSE(ENT(PETITE.VALEUR(SI($D$2:$M$7=$G$10;LIGNE($D$2:$M$7)+COLONNE($D$2:$M$7)/1000000;"");H10));1000000*MOD(PETITE.VALEUR(SI($D$2:$M$7=$G$10;LIGNE($D$2:$M$7)+COLONNE($D$2:$M$7)/1000000;"");H10);1)))
Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.

Edit: si on ne recherche que la 1ière valeur, on peut utiliser la formule matricielle suivante qui est plus simple:
Code:
=SI(MIN(SI($D$2:$M$7=$G$10;LIGNE($D$2:$M$7);""))=0;"";ADRESSE(ENT(MIN(SI($D$2:$M$7=$G$10;LIGNE($D$2:$M$7)+COLONNE($D$2:$M$7)/1000000;"")));1000000*MOD(MIN(SI($D$2:$M$7=$G$10;LIGNE($D$2:$M$7)+COLONNE($D$2:$M$7)/1000000;""));1)))
 

Pièces jointes

  • adresse conditionnelle d'une plage v2.xls
    30.5 KB · Affichages: 85
Dernière édition:

elect31

XLDnaute Nouveau
Re : adresse conditionnelle d'une plage

Merci de ta réponse, je ne connaissais pas PETITE.VALEUR. Je ne crois pas que cela convienne

Ma plage est en 1 seule colonne et les dates ne sont pas en désordre mais triées.
Je ne comprends pas comment je peux appliquer ta formule dans mon cas.
J'ai joint un exemple pour mieux comprendre:
Je voudrais que G2 affiche l'adresse de la plage de cellules contenant la valeur affichée en F2.
Merci de ton aide
 

Pièces jointes

  • ref_plage_si.xls
    42.5 KB · Affichages: 49

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : adresse conditionnelle d'une plage

re-Bonsoir,

La formule suivante:
Code:
=ADRESSE(EQUIV(F2;B:B;0);2) & ":" & ADRESSE(EQUIV(F2+0.0000000001;B:B;1);2)
ou en adresse relative
Code:
=ADRESSE(EQUIV(F2;B:B;0);2;4) & ":" & ADRESSE(EQUIV(F2+0.0000000001;B:B;1);2;4)
Voir fichier joint.

NB: La formule de HABITUDE fonctionne plus que bien. Il suffit de remplacer A1 par F2 dans ton fichier (tu avais indiqué dans ton 1ier message que ta cellule de référence était en A1 et non en F2)
 

Pièces jointes

  • ref_plage_si v1.xls
    48.5 KB · Affichages: 91
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 882
Membres
103 981
dernier inscrit
vinsalcatraz