Sub Moyenne_avec_conditions()
Dim Plage1 As Range, DL%
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
DL = Range("A65500").End(xlUp).Row ' Dernière ligne occupée de la colonne A ' MODIF
Set Plage1 = Range("A1:A" & DL) ' Limitation de la plage aux cellules non vides de A ' MODIF
'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 ' Utilisez & et non + pour la concaténation ' MODIF
'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
If Nombre <> 0 Then Moyenne = Total / Nombre ' Vérifier si le nombre est non nul pour faire la moyenne. ' MODIF
Range("H" & I + 1).Value = Moyenne
Next I
Next Valeur1
'Affiche la moyenne
MsgBox "La moyenne est de : " & Moyenne
End Sub