Calcul d'ensemble positif et négatif

Bonjour à tous,

Je ne sais pas si le titre est très clair sur ce que je cherche à effectuer.

En gros, j'ai une suite de chiffre (dans une même colonne) issue de l'analyse d'un mouvement d'air, lorsque l'air va dans un sens les valeurs sont positives, et dans l'autre elles sont négatives.

En fait j'aurais voulus savoir s'il y avait possibilité pour excel de me donner le nombre d'ensembles (et pas de cellules) positifs et le nombre d'ensembles négatifs, qui me permettrait d'avoir une idée du nombre de vois ou la direction du flux d'air à changée.

J'ai mis un fichier excel en pièce jointe ci cela peut vous aider.

N'hésitez pas à me faire signe si je n'ai pas été assez clair,

Bonne journée à vous

Zehirman

23cycles.xlsx (21.75 Ko)

Bonjour,

Très simplement, oui.

Utilise la fonction NB.SI avec comme critère supérieur ou inférieur à 0.

Cdlt,

Salut zehirman, VH_AE,

pas compris cela ainsi...

Bon, pour cette première version, je postule que je vis chez les Bisounours et que tes données comportent des "Zéros" partout comme dans ton fichier-exemple, c-à-d, au début, pendant et après puisque j'en fais mes repères de calcul!

'
Dim rCel As Range
'
iRow = Range("C" & Rows.Count).End(xlUp).Row
If Cells(iRow, 3) <> 0 Then
    iRow = iRow + 1
    Cells(iRow, 3) = 0
End If
Range("D4:E4").Value = 0
iLig = 3
Do
    Set rCel = Range("C" & iLig & ":C" & iRow).Find(what:=0, lookat:=xlWhole, searchdirection:=xlNext)
    If Not rCel Is Nothing Then
        If rCel.Offset(1, 0) <> "" Then Cells(4, IIf(rCel.Offset(1, 0) > 0, 4, 5)) = Cells(4, IIf(rCel.Offset(1, 0) > 0, 4, 5)) + 1
        iLig = rCel.Row + 1
    End If
Loop Until iLig > iRow
'

La macro peut démarrer via le petit bouton ou via un changement dans [C:C].

A tester mais s'il n'y a pas de zéro en fin de colonne, apprête-toi à jouer du CTRL-ALT-DELETE...

PS: EDIT :

Tant qu'à faire, je mets une sécurité : un zéro en fin de colonne si inexistant!

A+

14cycles.xlsm (33.05 Ko)
curulis57 a écrit :

Salut zehirman, VH_AE,

pas compris cela ainsi...

Tu as tout à fait raison, désolé de mon HS

Salut VH_AE,

... m'arrive souvent aussi d'aller trop vite et de devoir effacer mes bêtises avant que quelqu'un ne les lise!

A+

Bonjour,

Un grand merci à vous deux pour votre aide, je test cela et je vous redis ^^

Et pas de soucis VH_AE je me suis douté qu'il y avait une incompréhension.

je regarde tout cela des que je peux et je vous redis.

merci encore

Re-bonjour,

Alors effectivement la macro fonctionne bien et ça correspond totalement à ce que je voulais faire.

Par contre curulis57, comme tu de doute bien que l'on est pas dans le monde des bisounours j'ai aussi des cas de figures ou il n'y a pas de 0 tout pile, il y aurait-il moyen de lui faire faire la même chose avec comme repère des valeurs comprises entre 0 et 1.

merci encore en tout cas ça m'aide déjà énormément ^^

Ouhlala, entre 0 et 1, il y a un monde intersidéral et je constate, dans ton fichier-exemple, que la transition entre vague positive et négative n'y passe jamais.

Je vais revoir ma copie en oubliant mes petits poneys et leurs cacas-papillons!

A+

Je suis désolé de t’embêter avec tout ça mais effectivement la transition positive/négatif est difficilement fixe...

Mais ne te torture pas l'esprit trop longtemps dessus non plus, je peux essayer de voir de mon coté si lors de ma prise de mesure je ne peux pas faire apparaître un zéro entre chaque vague, comme ça ta première macro fonctionnera sans soucis ^^

A+

Mais, non, on s'amuse ici!

Public Sub Calcul()
'
Dim tData, iRow As Long, iIdx1 As Integer, iIdx2 As Integer
'
tData = Range("C4:C" & Range("C" & Rows.Count).End(xlUp).Row).Value
Range("D4:E4").Value = 0
'
For x = 1 To UBound(tData, 1)
    If tData(x, 1) <> 0 Then iIdx1 = IIf(tData(x, 1) > 0, 1, 2)
    If iIdx1 <> iIdx2 Then
        iIdx2 = iIdx1
        Cells(4, IIf(iIdx1 = 1, 4, 5)) = Cells(4, IIf(iIdx1 = 1, 4, 5)) + 1
    End If
Next
'
End Sub

A+

Nickel,

Et bien ecoute à premiere vue ça fonctionne plutot bien,

je vais pas pouvoir regarder ça trop en détails, je ferais des tests des lundis et en fonction je pourrais mettre le sujet en résolu car ça a l'air de le faire ^^

un très grand merci en tout cas

bonne soirée

Bonjour à tous,

Désolé de répondre tardivement mais je voulais faire tout mes tests afin d’être sur que tout fonctionnait bien avec mes valeurs.

Donc oui cette macro répond bien à mes attentes.

Merci beaucoup Curulis pour ton aide,

Bonne journée

Zehirman

Rechercher des sujets similaires à "calcul ensemble positif negatif"