By MonsieurRemodel le jeudi, 05 Janvier 2023
Publié dans Excel
Réponses 1
Aime 0
Vues 3.6K
Votes 0
Merci d'avance pour toute aide à ce sujet que vous pouvez offrir.

Avec l'aide de ce site, j'ai créé la fonction suivante ;

Fonction ColorFunction (rColor As Range, rRange As Range, SOMME facultative As Boolean)
Dim rCell comme plage
Dim lCol aussi longtemps
Atténuer vRésultat
lCol = rCouleur.Intérieur.IndexCouleur
Si SOMME = Vrai Alors
Pour chaque rCell dans rRange
Si rCell.Interior.ColorIndex = lCol Alors
vResult = Feuille de travailFonction.SUM (rCell, vResult)
Si fin
Cellule suivante
autre
Pour chaque rCell dans rRange
Si rCell.Interior.ColorIndex = lCol Alors
vRésultat = 1 + vRésultat
Si fin
Cellule suivante
Si fin
CouleurFonction = vRésultat
Fonction de fin


Dans chaque cellule cible que je veux, une somme de toutes les cellules de cette ligne contenant la couleur de la cellule spécifiée ;
=fonctioncouleur(AR4,H5:AP5,TRUE)

Comment puis-je mettre à jour la vente cible lorsqu'une autre cellule de la ligne (H5:AP5) change de couleur ?
Salut,

Vous pouvez ajouter le code : Application.Calcul = xlAutomatic à votre fonction :

Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
Application.Calculation = xlAutomatic
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End Function


S'il vous plaît, essayez-le.

Amanda
·
Il y a 1 année
·
0 aime
·
Votes 0
·
0 Commentaires
·
Voir l'article complet