Occurrences consécutives dans un tableau

Bonjour à tous,

J'ai 2 colonnes B et C avec des couleurs et une 3ème colonne en D avec des valeurs à 0 ou 1. J'aimerais savoir pour chaque couleur présente en B ou en C quelle est le nombre d'occurrences max avec une valeur supérieure à 0.

test1

J'ai fait 2 tests :

test2

- l'un en colonne I en calculant les séries max des valeurs supérieures à 1 en prenant en compte uniquement les couleurs de la colonne B et ça marche très bien :

=MAX(FREQUENCY(IF($B$9:$B$20=$G9;IF($D$9:$D$20>0;ROW($9:$20)));IF($B$9:$B$20=$G9;IF($D$9:$D$20<=0;ROW($9:$20)))))

- l'autre en colonne H ou j'essaye de faire la même chose mais en testant si chaque couleur est présente en colonne B ou colonne C avec cette formule :

=MAX(FREQUENCY(IF(OR($B$9:$B$20=$G9;$C$9:$C$20=$G9);IF($D$9:$D$20>0;ROW($9:$20)));IF(OR($B$9:$B$20=$G9;$C$9:$C$20=$G9);IF($D$9:$D$20<=0;ROW($9:$20)))))

J'ai l'impression que l'utilisation du "OU" ne fonctionne pas, car le résultat trouvé pour chaque couleur n'est pas le bon.

J'espère avoir été assez clair, merci beaucoup pour votre aide.

Bonjour,

Merci de joindre un classeur exemple au format ".xlsx" pour que l'on puisse illustrer directement nos solutions.

A première vue, il s'agit d'une fonction NB.SI.ENS ou SOMME.SI ou encore SOMMEPROD...

Salut,

J'ai fait un test, je ne tombe pas sur la même chose que toi pour le nombre rouge >=1 dans la colonne B mais j'ai l'impression que c'est mon résultat qui est le bon et non le tient :s (Sauf si j'ai pas compris ce que tu cherches à faire)

Bref, voir mon test en PJ

Ps : A l'avenir si tu peux joindre ton petit fichier test ça m'évitera de retaper des noms de couleurs comme un neuneu :p

Edit : Salut Pedro22 Comme tu peux le voir sur mon fichier on a eu la même idée !

Girodo,

Merci beaucoup pour ton aide et désolé pour ne pas avoir joint le fichier

Effectivement, j'avais une erreur dans mon calcul sur le rouge. Ce que tu as fait pour les colonnes B seule et C seule est juste. Par contre, pour la dernière colonne ce n'est pas exactement ce que je souhaite obtenir, mais je me suis surement mal exprimé.

Ce n'est pas le max des 2 que je souhaite mais le nombre d'occurrences consécutives max avec une valeur supérieure à 0 si il y a bleu en B ou bleu en C.

On devrait normalement obtenir 6 pour le bleu, 3 pour le rouge, 2 pour le vert et 2 pour le jaune.

Est-ce que c'est plus clair ?

Merci à toi.

Oula oula oula,

Je pense que tu t'es perdu dans ton exemple là...

Tu rajoutes une nouvelle notion avec ton mot "Consécutive", j'ai du mal à comprendre ce que tu entends par là.

Par ailleurs tu as 6 fois le mot bleu entre B et C mais une fois en face d'un 0, je ne vois donc pas comment tu peux arriver à 6 au final oO

Bref, je ne comprend rien à ce que tu cherches à faire...

Girodo,

Pardon j'avais zappé mais pour tester le fichier que tu m'as donné j'ai changé le chiffre sur la ligne 7 et mis 1 à la place de 0, ce qui permet d'avoir 6 fois de suite une valeur supérieure à 0 quand il y a bleu dans la colonne B ou dans la colonne C.

Pour la notion "consécutives", je l'avais mentionné dans le titre du sujet et j'avais surement oublié de le rappeler, voilà pourquoi je l'ai reprécisé dans mon poste précédent. Désolé mais c'est pas simple à expliquer.

Salut,

Dans ce cas je ne vois pas comment faire autrement qu'une fonction personnalisée en VBA.

Voir mon exemple joint,

Girodo,

Merci pour cette solution. Je vais essayer de comprendre le code

Dommage qu'on ne puisse pas résoudre ce cas uniquement avec les fonctions. J'ai l'impression que la fonction "OU" ne peut pas s'utiliser dans tous les contextes notamment quand il s'agit de faire des comparaisons sur des plages de valeurs.

Rechercher des sujets similaires à "occurrences consecutives tableau"