Calcul de somme sous condition en VBA
Fermé
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
-
17 juil. 2006 à 12:11
superbaptbapt Messages postés 32 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 20 juillet 2006 - 20 juil. 2006 à 16:13
superbaptbapt Messages postés 32 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 20 juillet 2006 - 20 juil. 2006 à 16:13
A voir également:
- Calcul de somme sous condition en VBA
- Formule somme excel colonne - Guide
- Excel cellule couleur si condition texte - Guide
- Calcul moyenne excel - Guide
- Somme si couleur - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
32 réponses
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
19 juil. 2006 à 15:04
19 juil. 2006 à 15:04
je vien de regarder les résultats, pour savoir si c'était juste une erreur de 1
Mais
1 4:44:15 4:46:14 8
2 4:46:15 4:48:14 10
10 est le nombre d'avion sur l'interval
le nombre d'avion ayant eu une déviation est 7
3 avion n'ayant pas eu l'ecart suffisant
on peut garder la colonne donnant le nombre d'avion pour les sources, et savoir sur tant d'avion, il y a en eu tand qui on eu la déviation.
Mais il faudrait mettre en colonne I, le nb a/c ayant eu une déviation, la sytème métant lui en A1
le nombre d'avion au total sur tout les intervals, ayant eu cet déviation
Mais
1 4:44:15 4:46:14 8
2 4:46:15 4:48:14 10
10 est le nombre d'avion sur l'interval
le nombre d'avion ayant eu une déviation est 7
3 avion n'ayant pas eu l'ecart suffisant
on peut garder la colonne donnant le nombre d'avion pour les sources, et savoir sur tant d'avion, il y a en eu tand qui on eu la déviation.
Mais il faudrait mettre en colonne I, le nb a/c ayant eu une déviation, la sytème métant lui en A1
le nombre d'avion au total sur tout les intervals, ayant eu cet déviation
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
19 juil. 2006 à 15:20
19 juil. 2006 à 15:20
Pour explication voila se qu'il faudrait faire pour la mise ne forme
Garder les colonnes EFGH pour les mettres en ABCD, étant donnée, qu'après d'autre résultats seront a y ajouter.
de plus pour la déviation
entre 16:44:00 à 16:45:59 calcul déviation correspondante en E2
entre 16:46:00 à 16:47:59 calcul déviation correspondante en E3
a chaque fois il faut calculer la déviation correspondante a l'interval
J'ai regardé la script VBA, plus en détail, il faudrait peut etre ajouter un boucle comme pour le calcul du nombre d'avion par tranche
De plus, quand tout ceci sera fini, et fonctionnera comme sur des roulettes grace a ton aide. Il me faudra ton "nom", juste pour mettre dans les remerciements et explication du programme.
Et oui toute personne aidant doit etre cité, sauf si tu ne souhaite pas.
Garder les colonnes EFGH pour les mettres en ABCD, étant donnée, qu'après d'autre résultats seront a y ajouter.
de plus pour la déviation
entre 16:44:00 à 16:45:59 calcul déviation correspondante en E2
entre 16:46:00 à 16:47:59 calcul déviation correspondante en E3
a chaque fois il faut calculer la déviation correspondante a l'interval
J'ai regardé la script VBA, plus en détail, il faudrait peut etre ajouter un boucle comme pour le calcul du nombre d'avion par tranche
De plus, quand tout ceci sera fini, et fonctionnera comme sur des roulettes grace a ton aide. Il me faudra ton "nom", juste pour mettre dans les remerciements et explication du programme.
Et oui toute personne aidant doit etre cité, sauf si tu ne souhaite pas.
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
19 juil. 2006 à 23:29
19 juil. 2006 à 23:29
Hello,
J'ai pu m'y remettre un peu ce soir...
https://www.cjoint.com/?htxD1rBDIC
J'ai donc modifié la présentation, en échangeant les colonnes.
Dans la version précédente, la liste des avions devait être bonne. Par contre, pour la répartition par tranches horaires, je prenais la totalité des avions. Pfff... j'ai modifié ça.
Je me suis dit aussi que quand un avion passe de 357° à 5°, ça fait un écart énorme, mais en fait la déviation est minime. J'ai donc pris une option : si l'écart est > 345°, on laisse tomber, parce qu'en fait ça fait moins de 15°, en sens inverse. Dis-moi si ça colle.
J'ai rétabli le calcul du temps initial pour avoir une minute juste.
Je pars vendredi, et demain j'ai pas mal de chats à fesser, comme on dit chez moi.
A+
J'ai pu m'y remettre un peu ce soir...
https://www.cjoint.com/?htxD1rBDIC
J'ai donc modifié la présentation, en échangeant les colonnes.
Dans la version précédente, la liste des avions devait être bonne. Par contre, pour la répartition par tranches horaires, je prenais la totalité des avions. Pfff... j'ai modifié ça.
Je me suis dit aussi que quand un avion passe de 357° à 5°, ça fait un écart énorme, mais en fait la déviation est minime. J'ai donc pris une option : si l'écart est > 345°, on laisse tomber, parce qu'en fait ça fait moins de 15°, en sens inverse. Dis-moi si ça colle.
J'ai rétabli le calcul du temps initial pour avoir une minute juste.
Je pars vendredi, et demain j'ai pas mal de chats à fesser, comme on dit chez moi.
A+
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 09:31
20 juil. 2006 à 09:31
Je vien d'essayer avec mon classeur1, pour vérifier, les calculs montre un problème
le système recopie sur le feuille3 et les met par période, mais en feuille2, les interval vont de 16:44:00 à 16:45:59
alors que sur le feuille3,ils vont de 16:44:00 à 16:46:00
EFL41 FS 16:46:00 319 1
TBS_EW FS 16:44:15 85 1
TBS_EW FS 16:44:20 75 1
TBS_EW FS 16:44:25 73 1
TBS_EW FS 16:44:30 61 1
TBS_EW FS 16:44:45 55 1
TBS_EW FS 16:46:00 40 1
TBS_EWC FS 16:44:25 85 1
TBS_EWC FS 16:44:40 47 1
TBS_EWC FS 16:44:45 49 1
TBS_EWC FS 16:46:00 26 1
EFL41 ne devrais pas etre sur cet interval, mais en 2
tout comme une ligne de TBS_EW et TBS_EWC
de plus en D, c'est donc le nombre d'avion présent par tranche de 2 minutes
en E et F, le nombre d'avion ayant eu un changement.
se nombre et réaliser pour l'ensemble des cellules de temps, alors qu'il le fodrait sur le intervals
donc calculer le nombre de déviation sur 2 minutes
et après on recalcul sur les 2 minutes suivantes
en colonne E
le nom des avions n'est pas nécessaire
Merci
le système recopie sur le feuille3 et les met par période, mais en feuille2, les interval vont de 16:44:00 à 16:45:59
alors que sur le feuille3,ils vont de 16:44:00 à 16:46:00
EFL41 FS 16:46:00 319 1
TBS_EW FS 16:44:15 85 1
TBS_EW FS 16:44:20 75 1
TBS_EW FS 16:44:25 73 1
TBS_EW FS 16:44:30 61 1
TBS_EW FS 16:44:45 55 1
TBS_EW FS 16:46:00 40 1
TBS_EWC FS 16:44:25 85 1
TBS_EWC FS 16:44:40 47 1
TBS_EWC FS 16:44:45 49 1
TBS_EWC FS 16:46:00 26 1
EFL41 ne devrais pas etre sur cet interval, mais en 2
tout comme une ligne de TBS_EW et TBS_EWC
de plus en D, c'est donc le nombre d'avion présent par tranche de 2 minutes
en E et F, le nombre d'avion ayant eu un changement.
se nombre et réaliser pour l'ensemble des cellules de temps, alors qu'il le fodrait sur le intervals
donc calculer le nombre de déviation sur 2 minutes
et après on recalcul sur les 2 minutes suivantes
en colonne E
le nom des avions n'est pas nécessaire
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 09:36
20 juil. 2006 à 09:36
J'ai modifié ces lignes pour que le tri se fasse sur les memes intervals que les résultats.
Le nombre d'avion en D, est juste maintenant.
With FD
.Rows(1).Copy
Range("A1").Select
ActiveSheet.Paste
Derlig = .Cells(65536, 1).End(xlUp).Row
J = 1
HDeb = Int(.Cells(2, 3).Value * 3600) / 3600
HFin = HDeb + TimeValue("00:01:59") * NbTr
For I = 2 To Derlig
If .Cells(I, 2).Value = Secteur _
And .Cells(I, 3).Value <= HFin Then
J = J + 1
.Rows(I).Copy
Cells(J, 1).Select
ActiveSheet.Paste
Cells(J, 5).Value = Int(((Cells(J, 3).Value - HDeb) / TimeValue("00:01:59")) + 1)
End If
Next
End With
Par contre, il ne reste plus qu'a calculer le nombre de déviation par interval
Le nombre d'avion en D, est juste maintenant.
With FD
.Rows(1).Copy
Range("A1").Select
ActiveSheet.Paste
Derlig = .Cells(65536, 1).End(xlUp).Row
J = 1
HDeb = Int(.Cells(2, 3).Value * 3600) / 3600
HFin = HDeb + TimeValue("00:01:59") * NbTr
For I = 2 To Derlig
If .Cells(I, 2).Value = Secteur _
And .Cells(I, 3).Value <= HFin Then
J = J + 1
.Rows(I).Copy
Cells(J, 1).Select
ActiveSheet.Paste
Cells(J, 5).Value = Int(((Cells(J, 3).Value - HDeb) / TimeValue("00:01:59")) + 1)
End If
Next
End With
Par contre, il ne reste plus qu'a calculer le nombre de déviation par interval
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 09:45
20 juil. 2006 à 09:45
Le nombre en D, c'est le nombre d'avion ayant eu une déviation?
Je vien de faire le test, c'est a ni plus rien comprendre pour moi.
Alors tout compte fait, c'est bon, par contre j'aimerais supprimer les lignes E et F, pour les remplacer par le nombre d'avion présent sur l'interval
et le nombre d'opération qu'il y a eu sur l'interval
'Order Number
Dim a As Range, w%
Range("G2:G" & Range("G65536").End(xlUp).Row).Select
Selection.ClearContents
For r = 2 To Range("B65536").End(xlUp).Row
For Each a In Range("E2:E" & X + 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, 7).Value = Cells(a.Row, 7).Value + 1
Exit For
End If
End If
End If
Next a
Next r
Par contre, le nombre d'avion présent sur le secteur par interval, tu l'avais fait, le code y est encore sur le VBA, mais il ne s'affiche pas
merci
Je vien de faire le test, c'est a ni plus rien comprendre pour moi.
Alors tout compte fait, c'est bon, par contre j'aimerais supprimer les lignes E et F, pour les remplacer par le nombre d'avion présent sur l'interval
et le nombre d'opération qu'il y a eu sur l'interval
'Order Number
Dim a As Range, w%
Range("G2:G" & Range("G65536").End(xlUp).Row).Select
Selection.ClearContents
For r = 2 To Range("B65536").End(xlUp).Row
For Each a In Range("E2:E" & X + 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, 7).Value = Cells(a.Row, 7).Value + 1
Exit For
End If
End If
End If
Next a
Next r
Par contre, le nombre d'avion présent sur le secteur par interval, tu l'avais fait, le code y est encore sur le VBA, mais il ne s'affiche pas
merci
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 09:57
20 juil. 2006 à 09:57
Tout compte fait, ordre number, je n'arrive pas a le mettre
étant donné que certain éléments sont sur la feuil1, les autre devant etre mis sur la feuil2
Ti cout de main, please
Merci
étant donné que certain éléments sont sur la feuil1, les autre devant etre mis sur la feuil2
Ti cout de main, please
Merci
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 10:50
20 juil. 2006 à 10:50
Y as bien un problème sur la déviation
Il compte bien le nombre d'avion et la met dans la case correspondante pour l'interval, mais quand il passe eu suivant, il compte toujours du début.
Quand je prend 1 interval au lieu des 10
j'ai
1 16:44:00 16:45:59 5
quand j'en prend 2
1 16:44:00 16:45:59 6
2 16:46:00 16:47:59 8
pour 3
1 16:44:00 16:45:59 5
2 16:46:00 16:47:59 8
3 16:48:00 16:49:59 8
petite problème je pense
je devrai avoir 5 et pour l'autre 6
Il compte bien le nombre d'avion et la met dans la case correspondante pour l'interval, mais quand il passe eu suivant, il compte toujours du début.
Quand je prend 1 interval au lieu des 10
j'ai
1 16:44:00 16:45:59 5
quand j'en prend 2
1 16:44:00 16:45:59 6
2 16:46:00 16:47:59 8
pour 3
1 16:44:00 16:45:59 5
2 16:46:00 16:47:59 8
3 16:48:00 16:49:59 8
petite problème je pense
je devrai avoir 5 et pour l'autre 6
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 11:11
20 juil. 2006 à 11:11
Bon j'ai encore regardé en détail
En colonne D, tu calcul le nombre d'avion par période
et non pas le heading change
que tu fait en globale est non pas par interval de temps
En colonne D, tu calcul le nombre d'avion par période
et non pas le heading change
que tu fait en globale est non pas par interval de temps
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 11:46
20 juil. 2006 à 11:46
J'ai remis le nombre d'avion par interval en D
en retirant la ligne
'If Déviation > 180 Then Déviation = Déviation - 360
le nombre d'avion présent par interval devient le bon
mais sur 10 interval, les valeurs seront les bonnes
mais si je met 1 interval, c'est parti le délire
Tranche Début Fin Nb a/c 5
Avions Angles
1 16:44:00 16:45:59 5 AIRONLY 27
EFL41 29
FOL1111 27
TBS_EW 109
TBS_EWC 107
il y a bien 5 déviation
mais si je met 10 interval
1 16:44:00 16:45:59 7
2 16:46:00 16:47:59 10
3 16:48:00 16:49:59 10
4 16:50:00 16:51:59 9
et la 7 est bien le nombre d'avion par inteval, tout comme 10 pour le suivant...
Je ne comprend plus du tout
en retirant la ligne
'If Déviation > 180 Then Déviation = Déviation - 360
le nombre d'avion présent par interval devient le bon
mais sur 10 interval, les valeurs seront les bonnes
mais si je met 1 interval, c'est parti le délire
Tranche Début Fin Nb a/c 5
Avions Angles
1 16:44:00 16:45:59 5 AIRONLY 27
EFL41 29
FOL1111 27
TBS_EW 109
TBS_EWC 107
il y a bien 5 déviation
mais si je met 10 interval
1 16:44:00 16:45:59 7
2 16:46:00 16:47:59 10
3 16:48:00 16:49:59 10
4 16:50:00 16:51:59 9
et la 7 est bien le nombre d'avion par inteval, tout comme 10 pour le suivant...
Je ne comprend plus du tout
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
20 juil. 2006 à 12:45
20 juil. 2006 à 12:45
Hello superbaptbapt,
Bon, je suis obligé de décrocher (heureusement je ne suis pas un avion !).
Je te mets là mes commentaires sur la macro et ce que j'ai compris.
https://www.cjoint.com/?humSj6tf7B
Bonne chance pour la suite.
Amicalement.
Armojax.
P.S. Si d'autres veulent prendre le relais...
Bon, je suis obligé de décrocher (heureusement je ne suis pas un avion !).
Je te mets là mes commentaires sur la macro et ce que j'ai compris.
https://www.cjoint.com/?humSj6tf7B
Bonne chance pour la suite.
Amicalement.
Armojax.
P.S. Si d'autres veulent prendre le relais...
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 12:51
20 juil. 2006 à 12:51
Merci de ton aide Armojax
Est bonne vacance, je pense
Est bonne vacance, je pense
superbaptbapt
Messages postés
32
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006
20 juil. 2006 à 16:13
20 juil. 2006 à 16:13
Il y aurait une méthode, afin d'obtenir les bons résultats.
Lors du calculs du heading par interval, il serait nécessaire d'ajouter des conditions initiales aux intervals suivants.
C'est a dire ajouter en condition initials, la dernière valeur de chaque avions, afin de faire les comparaisons.
Cela évitant de faire une comparaison avec 0, s'il n'y a qu'un seul terme.
Donc il faut reprendre les dernières valeurs de chaques avions, pour chaque interval, et les mettres comme conditions initials, et ainsi de suite
TBS_EW FS 16:44:15 85
TBS_EW FS 16:44:20 75
TBS_EW FS 16:44:25 73
TBS_EW FS 16:44:30 61
TBS_EW FS 16:44:45 55
TBS_EW FS 16:46:00 40
TBS_EW FS 16:46:05 57
TBS_EW FS 16:49:00 40
la on a les conditions global, par interval, on a
TBS_EW FS 16:44:15 85
TBS_EW FS 16:44:20 75
TBS_EW FS 16:44:25 73
TBS_EW FS 16:44:30 61
TBS_EW FS 16:44:45 55
pour le premier, on effectue le calcul
TBS_EW FS 16:44:45 55 valeur ajouté,cond initial
TBS_EW FS 16:46:00 40
TBS_EW FS 16:46:05 57
pour la seconde période
TBS_EW FS 16:46:05 57 valeur ajouté
TBS_EW FS 16:49:00 40
pour la troisième
....
mais ne sait pas faire, comme d'habitude
Sinon, on m'a dit qu'il serait possible de le faire par tableau, mais ?
Merci
Lors du calculs du heading par interval, il serait nécessaire d'ajouter des conditions initiales aux intervals suivants.
C'est a dire ajouter en condition initials, la dernière valeur de chaque avions, afin de faire les comparaisons.
Cela évitant de faire une comparaison avec 0, s'il n'y a qu'un seul terme.
Donc il faut reprendre les dernières valeurs de chaques avions, pour chaque interval, et les mettres comme conditions initials, et ainsi de suite
TBS_EW FS 16:44:15 85
TBS_EW FS 16:44:20 75
TBS_EW FS 16:44:25 73
TBS_EW FS 16:44:30 61
TBS_EW FS 16:44:45 55
TBS_EW FS 16:46:00 40
TBS_EW FS 16:46:05 57
TBS_EW FS 16:49:00 40
la on a les conditions global, par interval, on a
TBS_EW FS 16:44:15 85
TBS_EW FS 16:44:20 75
TBS_EW FS 16:44:25 73
TBS_EW FS 16:44:30 61
TBS_EW FS 16:44:45 55
pour le premier, on effectue le calcul
TBS_EW FS 16:44:45 55 valeur ajouté,cond initial
TBS_EW FS 16:46:00 40
TBS_EW FS 16:46:05 57
pour la seconde période
TBS_EW FS 16:46:05 57 valeur ajouté
TBS_EW FS 16:49:00 40
pour la troisième
....
mais ne sait pas faire, comme d'habitude
Sinon, on m'a dit qu'il serait possible de le faire par tableau, mais ?
Merci