Bonjour à tous,
j'ai créé un petit utilitaire me permettant de traiter des bases de données.
Sur cette base de données (en PJ), se trouve plusieurs type de données sur lesquelles j'effectue des opérations différentes;
Le but étant de recréer un tableau mensuel avec chaque données:
Pour les valeurs de type "h" "kWh", on fait la somme mensuelle (si la valeur est comprise entre 2 dates spécifiées, on l'ajoute à la case correspondante :
Pour les valeurs de type "VA" "W", je voudrai récupérer la max (si la valeur est comprise entre 2 dates spécifiées, on récupère la valeur max).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 If Sheets("ENEDIS").Cells(2 + j, 8 + i * 3) >= 43435 _ And Sheets("ENEDIS").Cells(2 + j, 8 + i * 3) < 43465 _ And (Sheets("ENEDIS").Cells(2 + j, 6) <> "VA" Or Sheets("ENEDIS").Cells(2 + j, 6) <> "W") Then With Cells(2 + j, 91) .Value = .Value + Cells(2 + j, 7 + i * 3) End With
Le but étant de récupérer la première valeur qui se rajoutera dans le tableau, et si une seconde valeur dans la même plage de temps (le même mois) est supérieur, de la comparer à la valeur précédente et de la remplacer. Et ainsi de suite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ElseIf Sheets("ENEDIS").Cells(2 + j, 8 + i * 3) >= 43435 _ And Sheets("ENEDIS").Cells(2 + j, 8 + i * 3) < 43465 _ And (Sheets("ENEDIS").Cells(2 + j, 6) = "VA" Or Sheets("ENEDIS").Cells(2 + j, 6) = "W") Then With Cells(2 + j, 91) .Value = WorksheetFunction.Max(Cells(2 + j, 91), Cells(2 + j, 7 + i * 3)) End With
Le problème, c'est que cette formule réalise une somme des valeurs... et je n'arrive pas à comprendre pourquoi...
J'espère avoir été suffisamment claire,
Merci par avance![]()
Partager