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 !!!!
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		