Jeudi, 05 Janvier 2023
  1 Réponses
  3.6K visites
0
Votes
annuler
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 ?
Il y a 1 année
·
#3338
0
Votes
annuler
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
  • Page:
  • 1
Il n'y a pas encore de réponse faites pour ce poste.