Bonjour (Excusez moi pour la premiere version de mon message mais j'etais tellement presser de mettre le code pour que le message soit clair que j'en ai oublier l'essentiel )
Je souhaiter faire la Moyenne des pourcentages pour chaque mois que j'ai dans mon tableau (la colone P).
Il faut donc que je verifie pour chaque ligne si le mois et l'annee (Colonne B) de la ligne correspond bien au mois et a l'annee de la colone P. Si c'est le cas j'additionne le pourcentage de la ligne a la valeur de la colonne M que je diviserai apres pour avoir une moyenne.
Date Date Déf Aér categ aero CategAero CateAeroNom Type Aéro TypeAeroNom Dispo Seuil Mini Seuil Maxi Nombretotal Taux Dispo Moyenne
20050101 01/01/2005 DA01 A010 DA01A010 Y X 70,2 55 66 142 49,43661972 janv-05 #VALEUR!
20050201 01/02/2005 DA01 A010 DA01A010 YTA001 X 65,3 55 66 142 45,98591549 févr-05
20050301 01/03/2005 DA01 A010 DA01A010 Y TA001 X 66 55 66 142 46,47887324 mars-05
20050401 01/04/2005 DA01 A010 DA01A010 Y TA001 X 66,5 55 66 142 46,83098592 avr-05
20050501 01/05/2005 DA01 A010 DA01A010 X Y 71 55 66 142 50 mai-05
20050601 01/06/2005 DA01 A010 DA01A010 X TA001 Y 63,5 55 66 142 44,71830986 juin-05
20050701 01/07/2005 DA01 A010 DA01A010 X TA001 Y 70,5 55 66 142 49,64788732 juil-05
Voici ma feuille de Calcul: La date pour les moyenne ce trouve dans la colone P et la date du tableau avec les donnée se trouve dans la Colonne B
Je veux faire la moyenne des Pourcentages de la colone M pour lesquelles la date est comprise dans le mois qui se trouve dans la colone P:
Exemple : Tous les pourcentage de Janvier 2007 le resultat se trouve dans la colone Q juste apres la colonne des mois P
J'ai continué a chercher un peu et j'ai coder ce code en VB
Sub CalculTaux()
'Définit une variable qui va représenter un classeur
Dim Wb As Workbook
'Définit une variable qui va représenter une feuille de calcul
Dim Ws As Worksheet
'Définit une variable qui va représenter une cellule
Dim Cell1 As Range
Dim Cell2 As Range
Dim DateP As Date
Dim DateB As Date
Dim Res As Integer
Dim ligne As Integer
Dim Compt As Integer
For Each Cell1 In Ws.Range("P4:P38")
Res = 0
Compt = 0
DateP = Cell1.Value
For Each Cell2 In Ws.Range("B4:B443")
DateB = Cell2.Value
ligne = Cell2.Row
If Year(DateB) = Year(DateP) & Month(DateP) = Month(DateB) Then
Res = Res + Ws.Cells(ligne, 12)
Compt = Compt + 1
End If
Next Cell2
Cells(Cell1.Row, (Cell1.Column + 1)).Value = (Res / Compt)
Next Cell1
End Sub
Je pense qu'il repond à mon probleme mais j'ai une erreur "Erreur d'execution 91" Variable Objet ou variable de bloc with non définie
De plus je ne sais pas comment l'applique a ma feuille Excel c'est la premiere fois que j'utilise VB dans Excel
jespere que vous pourrez m'aider s'il vous plait [/code]