XL 2016 Analyse d'une suite de nombre dont l'espacement est variable

Guerin

XLDnaute Nouveau
Bonjour,

Je suis ici pour demander de l'aide sur une tache que je n'arrive pas à faire réaliser à excel, j'ai aucune connaissance en VBA, bien que forcé au constat que je suis à plusieurs lectures de tuto, sans application, mais les notions commences à être moins floues

N'ayant pas eu pour autant d'éclaire de génie fasse à mon problème :/
Je sèche depuis 1 mois, j'ai toujours réussi à faire se que je voulais avec des if(and() ^^ mais là............. need help


Mon but :

J'ai des sommes de série de 1 et -1 (colonne C & H voir fichier joint) que je veux pouvoir comparer les une aux autres (toute les 5 sommes successives) prenant aussi en compte leur valeur.
Les conditions sont énoncées dans le fichier.

Le fichier :
Test v3.JPG
 

Fichiers joints

Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Guerin, le forum,

Voyez la feuille Sheet2 du fichier joint et les 2 conditions de la MFC sur la plage C6:C1000.

Tirage aléatoire (facultatif bien sûr) des 1 et -1 en colonne B.

A+
 

Fichiers joints

job75

XLDnaute Barbatruc
Re,

Fichier (2) .xlsm avec cette macro dans le code de Sheet2 (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$5" Then Exit Sub
Application.ScreenUpdating = False
If FilterMode Then ShowAllData
[B6:B1000] = "=IF(RAND()<0.5,-1,1)"
[B6:B1000] = [B6:B1000].Value
Target(1, 2).Select
With [C5:C1000]
    .AutoFilter 1, RGB(255, 192, 0), xlFilterCellColor
    [D5] = .SpecialCells(xlCellTypeVisible).Count - 1 & " cellules jaunes soit " & Format((.SpecialCells(xlCellTypeVisible).Count - 1) / 995, "0.0%")
    .AutoFilter 1, RGB(142, 169, 219), xlFilterCellColor
    [G5] = .SpecialCells(xlCellTypeVisible).Count - 1 & " cellules violettes soit " & Format((.SpecialCells(xlCellTypeVisible).Count - 1) / 995, "0.0%")
End With
If FilterMode Then ShowAllData
End Sub
La macro fait un nouveau tirage et compte les cellules jaunes et violettes.

Le filtre automatique est en place sur la colonne C : on peut filtrer la colonne par couleur.

A+
 

Fichiers joints

job75

XLDnaute Barbatruc
Re,

Dans les fichiers précédents la MFC violette utilisait vos critères.

Dans ce fichier (3) j'ai mis une formule du même acabit que celle de la MFC jaune, c'est mieux je pense.

Edit : et dans le fichier (3 bis) une autre formule, vous choisirez donc celle qui vous plaît.

A+
 

Fichiers joints

Dernière édition:

Guerin

XLDnaute Nouveau
Bonjour Job75,

Tout d'abord un énorme merci pour avoir passé du temps sur le sujet.
La condition commune en jaune est bien respectée, celles en violette le sont que dans les situation ou elles ne sont pas espacées, je souhaiterais que cela le soit.
Je vais établir un diagramme, pour que cela soit plus claire.
 

job75

XLDnaute Barbatruc
Bonjour Guerin, le forum,

Pour ceux qui ne comprennent pas les MFC précédentes voici le fichier (4 bis) et la colonne auxiliaire D (à masquer).

La formule en D6 coule de source pour ceux qui ont suivi :
Code:
=SIERREUR(ET(C5="";ABS(C6+C7)=1;C8="");)+SIERREUR(ET(C4="";ABS(C5+C6)=1;C7="");)+2*(SIERREUR(ABS(C6+C7+C8)=2;)+SIERREUR(ABS(C5+C6+C7)=2;)+SIERREUR(ABS(C4+C5+C6)=2;))
A+
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonsoir Guerin,

J'avoue ne pas comprendre l'intérêt de la solution donnée par h2so4 sur excel-pratique.

Il n'y a aucune application des 2 couleurs jaune et violette en colonne C !!!

A+
 

Guerin

XLDnaute Nouveau
Bonsoir Job75,

Les couleurs sont censées aider à la compréhension de la logique conditionnelle des cellules en D.
Se ne sont pas les couleurs qui sont importantes mais la logique conditionnelle les définissant.

est ce plus claire ?
 

job75

XLDnaute Barbatruc
Re,

Non car je ne vois pas le lien entre la "logique conditionnelle" et l'application des couleurs.

Chez moi la "logique conditionnelle" ce sont les formules de la MFC, pas besoin de VBA.

Et les valeurs en colonne D ne sont pas indispensables, je m'en sert uniquement au post #10.

A+
 

Guerin

XLDnaute Nouveau
Si tu arrives à refaire se qu'a fait H2so4 sans VB, sans prendre en compte les couleurs, juste avec la logique conditionnelle bravo !
Dans le code de H2so4, ce sont les variables Bound() et Lbound() qui on débloqué le sujet.
Personnellement je n'ai pas trouvé d’équivalent en fonction excel.
 

job75

XLDnaute Barbatruc
Si tu arrives à refaire se qu'a fait H2so4 sans VB, sans prendre en compte les couleurs, juste avec la logique conditionnelle bravo !
Eh bien oui au post #10 j'ai utilisé la "logique conditionnelle" pour renseigner la colonne D sans VBA.

Pourquoi vous n'essayez pas de comprendre les diverses solutions que j'ai proposées ?

Sans doute parce que vous êtes de ceux qui ne jurent que par VBA, en général sans rien y comprendre d'ailleurs.
 

Guerin

XLDnaute Nouveau
Excusez moi, mais je ne voulais en rien vous vexer, votre solution s'adaptait bien à l'exemple du premier poste mais n'était pas asses flexible.
Et cela est entièrement de ma faute par manque de clarté dans mon énoncé de départ, j'aurais du poster bien avant le diagramme, dans lequel aucune couleur n'est mentionnée.
Si vous voulez réessayer avec le diagramme, rien ne vous en empêche.
 

job75

XLDnaute Barbatruc
Bonjour Guerin, le forum,

Bon d'accord, dans ce fichier (5) je suis la logique de votre diagramme, les résultats sont les mêmes que ceux de h2so4.

Pour y parvenir je crée les numéros en colonne D et les noms définis C_1 C_2 C_3.

La formule en E6 :
Code:
=SIERREUR(1/((C_1<C_3)*(C_2<C5)*(C5=2)+(C_1>C_3)*(C_2>C5)*(C5=-2))/(C6=-SIGNE(C5));"")
Edit : après plusieurs essais il semble que la dernière condition (C6=-SIGNE(C5)) soit inutile.

A+
 

Fichiers joints

Dernière édition:

job75

XLDnaute Barbatruc
Re,

Je viens d'éditer le post précédent en simplifiant la formule en E6.

Et j'ai mesuré les durées de recalcul des formules :

- 994 formules avec VBA en colonne F => 0,32 seconde

- 995 formules sans VBA en colonne E => 0,04 seconde donc 8 fois plus rapides.

A+
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas