XL 2019 VBA colorer les cellules et éliminer les cellules en rouge dans le calcul de plus proche valeur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

KAMARY

XLDnaute Nouveau
Bonjour,

En fait j'ai fait ce script pour avoir la valeur le plus proche en plus et plus proche en moins par rapport à une valeur que je crée à partir d'une fonction mais j'ai besoin d'optimiser le script par la coloration des cellules en rouge qui ne correspond pas à la condition dans le script et les autres cellules en vert qui prise en calculer des valeurs plus proche en plus et en plus proche en moins en ci-joint mon script avec le fichier ...

Merci en avance
 

Pièces jointes

Bonjour KAMARY, le forum,

Voyez ci-dessous les formules utilisées pour le format conditionnel des cellules servant au calcul de la moyenne

pour les cellules comprises dans la fourchette référence + ou - 25% :
Code:
ET(C6<=$H6*1,25;C6>=$H6*0,8)

pour les cellules en dehors de la fourchette :
Code:
OU(C6>$H6*1,25;C6<$H6*0,8)

KAMARY.png


J'ai tenté de reproduire vos fonctions personnalisées en formules et j'y parviens partiellement pour
Code:
=CALCULMOYENNEAFFECTATION(C6:G6; H6)

qui devient :
Code:
=(MOYENNE.SI.ENS(C6:G6;C6:G6;"<="&H6*1,25;C6:G6;">="&H6*0,8)+H6)/2

mais pas pour =VALEUR_PROCHE(I6;C6:G6) que je n'arrive pas à comprendre, le double I dans IIF en ligne 55

VB:
Valeur_proche = IIf(minmax = 0, mini, maxi)

😉
 
Bonjour ,

je supprime les deux lignes en fait le besoin le plus proche en mois si j'arrive pas à trouver les plus proche en mois si deux valeurs en mois égaux seront afficher si aucune valeur plus proche en mois la valeur le plus proche sera afficher en ci-joint le script :
Function CalculMoyenneAffectation(rng As Range, colonneH As Range) As Double
Dim hValue As Double
Dim sum As Double
Dim count As Integer

Dim tempValue As Double
Dim result As Double


hValue = colonneH.Value
sum = 0 ' Initialize sum and count outside the loop
count = 0

For Each cell In rng

If cell.Value >= (hValue * 0.8) And cell.Value <= (hValue * 1.25) Then
cell.Interior.Color = RGB(255, 255, 0)
sum = sum + cell.Value
count = count + 1
End If

Next cell

If count > 0 Then

MsgBox "sum " & sum
MsgBox "count " & count
MsgBox "hValue " & hValue
CalculMoyenneAffectation = (sum / count + hValue) / 2
MsgBox "result " & result

End If




End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour