Identifier tdans une colonne toutes les valeurs après une valeur

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

J'ai une colonne contenant des chiffres :
1,012
2,897
3,789
4,574
5,5647789
4,543
3,112
2,447
1,656

Dans une colonne contiguë, en regard de chaque chiffre de la précédente colonne, je voudrais qu'il y ait 0 tant qu'on a pas dépassé la cellule contenant 5,5647789, et après qu'il y ait 1. Autrement dit, la colonne en question serait :
0
0
0
0
0
1
1
1
1

Merci pour toute indication.
 

Nougatine95

XLDnaute Occasionnel
Re : Identifier tdans une colonne toutes les valeurs après une valeur

Bonsoir,
colA:
1,012
2,897
3,789
4,574
5,5647789
4,543
3,112
2,447
1,656

colB
en B1 (adjacent à 1,012) =SI(NB.SI(A$1:A1;5,5647789)=1;1;0)
Tirer la formule vers le bas
0
0
0
0
1
1
1
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Identifier tdans une colonne toutes les valeurs après une valeur

Bonsoir Magis Doctor, Nougatine, bonsoir le forum,

Autre proposition VBA (Même si la proposition de Nougatine reste la plus efficace) :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim li As Integer 'déclare la variable li (LIgne)
 
dl = Range("A65536").End(xlUp).Row 'de'finit la variable dl (colonne à adapter)
li = Range("A1:A" & dl).Find(5.5647789).Row 'définit la variable li
Range("B1:B" & dl).Value = 0 'place les 0 (colonne à adapter)
Range("B" & li + 1 & ":B" & dl).Value = 1 'place les 1 (colonne à adapter)
End Sub
 
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Re : Identifier tdans une colonne toutes les valeurs après une valeur

Merci pour vos réponses dont je me suis inspiré.
Curieusement celle de Nougatine renvoie une erreur et celle de Robert que des 1.
J'ai donc bidouillé une horrible formule, mais qui marche :

=SI(Y(NB.SI(BM$7:BM7;$BU$3)=1;BM7=$BU$3);1;NB.SI(BM$7:BM7;$BU$3))

Les chiffres sont bien sûr dans la colonne BM (qui commence à BM7).
$BU$3 étant la valeur cible contenue dans la colonne de chiffres, au-dessous de laquelle n'apparaîtront (dans la colonne contiguë) que des 1. Ceci permettant de distinguer toutes les cellules qui viennent apès cette valeur (--> 1) ou toutes celles qui sont avant cette valeur et incluant celle-ci (--> 0).
 

Gael

XLDnaute Barbatruc
Re : Identifier tdans une colonne toutes les valeurs après une valeur

Bonsoir Magic_doctor, nougatine95, Robert, Cisco,

Chez moi, toutes les propositions fonctionnent.

Une autre possibilité:

Définir un nom comtenant la position de la valeur pivot:

Insertion - nom définir :pos et dans la zone champ:
Code:
=EQUIV(Feuil1!$BU$3;Feuil1!$BM$7:$BM$100;0)

Puis comme formule de BM7 à la fin de la table:

Code:
=SI(LIGNE()-6>Pos;1;0)


@+

Gael
 

CISCO

XLDnaute Barbatruc
Re : Identifier tdans une colonne toutes les valeurs après une valeur

Bonjour à tous

Chez moi, la formule de nougatine95 fonctionne (cf en pièce jointe)... Reste plus qu'à faire passer un désenvouteur...

@ plus
 

Pièces jointes

  • désenvoutement.xls
    21.5 KB · Affichages: 61

Nougatine95

XLDnaute Occasionnel
Re : Identifier tdans une colonne toutes les valeurs après une valeur

Bonjour,

Elle fonctionne, sauf que... j'avais mal lu la question.
Magic Doctor demandait après 5,5647789, et non à partir de 5,5647789 , donc il faut un zéro en regard.
en B1: SI(ET(A1<>5,5647789;NB.SI(A$1:A1;5,5647789)1);1;0)

colA ........... colB
1,012 .......... SI(ET(A1<>5,5647789;NB.SI(A$1:A1;5,5647789)1);1;0)
2,897 .......... SI(ET(A2<>5,5647789;NB.SI(A$1:A2;5,5647789)1);1;0)
3,789 .......... SI(ET(A3<>5,5647789;NB.SI(A$1:A3;5,5647789)1);1;0)
4,574 .......... SI(ET(A4<>5,5647789;NB.SI(A$1:A4;5,5647789)1);1;0)
5,5647789 .... SI(ET(A5<>5,5647789;NB.SI(A$1:A5;5,5647789)1);1;0)
4,543 ......... SI(ET(A6<>5,5647789;NB.SI(A$1:A6;5,5647789)1);1;0)
3,112 ......... SI(ET(A7<>5,5647789;NB.SI(A$1:A7;5,5647789)1);1;0)
2,447 ......... SI(ET(A8<>5,5647789;NB.SI(A$1:A8;5,5647789)1);1;0)
1,656 ......... SI(ET(A9<>5,5647789;NB.SI(A$1:A9;5,5647789)1);1;0)
 
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Re : Identifier tdans une colonne toutes les valeurs après une valeur

Bonjour Nougatine, Gael, Cisco

Le grand désanvoutement (avec l'aide de quelques images pieuses sélectionnées + musique zen) a fait son oeuvre : le génie malin semble être parti !
Mais la gagnante est Nougatine.
J'ai un chouïa modifié sa formule que je garde, car bien plus concise et élegante que celle que j'avais bidouillée.

=SI(ET(A1<>$BU$3;NB.SI(A$1:A1;$BU$3));1;0)

Bonne journée à tous.
 

Statistiques des forums

Discussions
312 487
Messages
2 088 823
Membres
103 971
dernier inscrit
abdazee