camcam59165
XLDnaute Nouveau
Bonjour à tous !
Je souhaiterais faire une macro pour rendre les KPI automatiques.
Je cherche comment écrire une macro qui puisse me faire ceci :
Si il y a plusieurs valeurs dans la colonne A (feuille 2) qui sont égales à la valeur dans la colonne C2 (feuille3) alors faire la moyenne des valeurs de la colonne H (feuille 2). Ensuite afficher le résultat dans la cellule H2 (feuille3). Ainsi de suite, jusque la ligne 169 de la feuille 3. (Voir photo avec schéma)
Je vous met également le fichier au besoin.
Voici la macro que j'ai essayé d'écrire (qui me dit erreur 13 : Incompatibilité de type) :
En vous remerciant par avance de votre aide !!!!
Je souhaiterais faire une macro pour rendre les KPI automatiques.
Je cherche comment écrire une macro qui puisse me faire ceci :
Si il y a plusieurs valeurs dans la colonne A (feuille 2) qui sont égales à la valeur dans la colonne C2 (feuille3) alors faire la moyenne des valeurs de la colonne H (feuille 2). Ensuite afficher le résultat dans la cellule H2 (feuille3). Ainsi de suite, jusque la ligne 169 de la feuille 3. (Voir photo avec schéma)
Je vous met également le fichier au besoin.
Voici la macro que j'ai essayé d'écrire (qui me dit erreur 13 : Incompatibilité de type) :
VB:
Sub Moyenne_avec_conditions()
Dim Plage1 As Range
Dim Valeur1 As Variant
Dim I As Integer
Dim Total As Double
Dim Nombre As Integer
Dim derniere_ligne As Long
Dim fichier As Workbook
Dim onglet As Worksheet
Set fichier = ActiveWorkbook
'Spécifiez la plage de cellules à vérifier
Set Plage1 = Range("A:A")
'Parcours chaque cellule de la plage1
For Each Valeur1 In Plage1
For I = 1 To 12
'Vérifie si la valeur de la valeur 1 est égale à "2Amènagement_R2N_VE"
If Valeur1.Value = I + "Amènagement_R2N_VE" Then
'Ajoute la valeur au total
Total = Total + Valeur1.Offset(0, 7).Value
'Incrémente le compteur
Nombre = Nombre + 1
End If
'Calcule la moyenne
Dim Moyenne As Double
Moyenne = Total / Nombre
Range("H" & I + 1).Value = Moyenne
Next I
Next Valeur1
'Affiche la moyenne
MsgBox "La moyenne est de : " & Moyenne
End Sub
En vous remerciant par avance de votre aide !!!!