Calcul Somme suivant différentes conditions

baptbapt

XLDnaute Occasionnel
Bonjour a tous

Voila mon nouveau problème
Et oui, j'ai encore des petits défaut pour mes VBA, après tout je n'en fait que depuis 2 semaines, contre 3 pour excel.(On ne rigole pas, merci)

http://cjoint.com/?hnmPKMiq2T

Je joint mon fichier de départ.
en couleur les différents avion, j'ai simplifier les variables d'entrée pour l'exemple, je n'ai mis uniquement que les avions du meme secteur et n'ai pris en compte que les avions sur 2 minutes

Voila le problème que l'on me pose

Calculer le nombre d'avion ayant eu un changement de + de 15° durant un interval de 2 minutes.

Voila mon problème, mettre les intervalles pour les heures, pas de problèmes, j'ai réussi.

Mais la macro pour la question, je suis dans le flou.

Je pense que pour y arriver je devrais faire différents comparaison, mais voila, je sais pas comment toute les écrire en VBA

Dim i As Variant
Dim z As Range,x%

For p=2 To Range("B65536").End(xlUp).Row
For Each z In Range("E2:E"&i+1)
If Cells(p,3).Value>=Range("E"&z.Row).Value Then
If Cells(p,3).Value<Range("F"&z.Row).Value Then

_pour l'instant je compare les valeurs suiant mes plages pour savoir si je les prend en compte
mais maintenant je sais plus

Il faut que je prenne uniquement les avions du meme secteur
donc en VBA

If Cells(p,2).Value="FS" Then

Sa doit etre sa
ET maintenant, comment prendre en compte et déterminer si mon avion a eu une variation de -15° ou +15° par rapport au headding colonne D
il faudrait donc que sur cette boucle je prenne le premier avion de la liste est je regarde jusqu'a la fin de l'interval si j'ai cette variation,
si oui, alors l'avion a eu une variation et je passe a l'avion suivant
si non, je passe a l'avion suivant

premier avion, je regarde le headding donc valeur de D1 et je la compare avec les autre valeurs de headding qu'a eu cette avion, lors des 2 minutes
donc savoir si Di est supérieur a D1-15 et D1+15

et enfin, je fait la somme de tout les avions ayant eu une variation

Ici en calcul réel,5 avions ont eu une variation

Merci
 

baptbapt

XLDnaute Occasionnel
Re : Calcul Somme suivant différentes conditions

Bonjour Porcinet82

Non se n'est pas ce que je veu.
J'ai lancer ton programme, et il me donne

TBS_EW -18
TBS_EW -23
TBS_EW -23
TBS_EW 21
TBS_EW 20
TBS_EW 20
TBS_EW 19
TBS_EWC -18
TBS_EWC -23
TBS_EWC -23
TBS_EWC 21
TBS_EWC 20
TBS_EWC 20
TBS_EWC 19

Nombre d'avions : 14

C'est pas sa.

J'essaye de modifier mon code pour obtenir

que la macro fasse
valeur1-valeur2 et comparaison avec +-15°
si déviation, alors on passe a l'avion suivant
si non
valeur2-valeur3 comparaison
....

le problème de la macro que j'utilise, c'est quel me donne soit la valeur entre la valeur initial et final
et pour l'autre macro, la différence entre le max et le min.

et un autre problème que je rencontre, c'est que le système ne fait pas la différence entre
TBS_EW et TBS_EWC, il me donne toujours les memes valeurs pour les 2

Merci
 

baptbapt

XLDnaute Occasionnel
Re : Calcul Somme suivant différentes conditions

pour mes calculs, il faut que je mette se prog sur la feuille3
Comment faire
de plus la donnée de B se trouvent sur la feuille 1
Cells(r, 3).Value si trouve aussi
de meme pour Cells(r, 2).Value qui se trouve etre B

Range("E" & a.Row).Value
et Range("F" & a.Row).Value
se trouve par contre sur la feuille3

et Cells(a.Row, 8).Value = Cells(a.Row, 8).Value + 1
doit etre réaliser sur la feuille 3


http://cjoint.com/?hsk7dzhSCz


Sheets("Feuil3").
Sheets("Feuil3").Activate

il faut rajouter ses lignes je crois

'Order Number
Dim a As Range, x%

Range("H2:H" & Range("H65536").End(xlUp).Row).Select
Selection.ClearContents

For r = 2 To Range("B65536").End(xlUp).Row
For Each a In Range("E2:E" & I + 1)
If Cells(r, 3).Value >= Range("E" & a.Row).Value Then
If Cells(r, 3).Value < Range("F" & a.Row).Value Then
If Cells(r, 2).Value = "FS" Then
Cells(a.Row, 8).Value = Cells(a.Row, 8).Value + 1
Exit For
End If
End If
End If
Next a
Next r
 
Dernière édition:

Membres actuellement en ligne

Statistiques des forums

Discussions
312 545
Messages
2 089 453
Membres
104 169
dernier inscrit
alain_geremy