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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
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.
 
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:
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:
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).
 
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 😛os 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
 
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:
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour