somme si couleur

Le
dimitri
Bonjour,

Je souhaite creer une fonction qui additionne les seules cellules où la
police est en rouge. Je dois donc créer une fonction "couleur" à l'aide
de visual basic. Mais je n'y arrive pas. Pourriez vous m'aider?

Merci d'avance

Dimitri
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #18550781
Lorsque tu utilises la couleur comme critère d'addition,
il y a une problématique :

A ) si toi ou un usager décide de modifier la couleur d'une
cellule, la fonction "Additionner" ne sera pas mise à jour, tu
devras manuellement utiliser la touche F9 pour faire la mise à jour.

B ) Qu'est-ce qui se passe si quelqu'un modifie la palette de couleurs tu classeur ?

Et si tu y tiens :

La fonction doit être obligatoirement mise dans un module standard.
Et dans une cellule, tu écris : Function ADD_Couleur(A1:G25;3)
Le chiffre 3 représente l'index de la palette de couleur du fond de la cellule.
'-------------------------------
Function ADD_Couleur(Rg As Range, LaCouleur As Integer) As Double

Dim C As Range
For Each C In Rg.SpecialCells(xlCellTypeConstants, xlNumbers)
If C.Interior.ColorIndex = LaCouleur Then
ADD_Couleur = ADD_Couleur + C.Value
End If
Next

End Function
'-------------------------------



"dimitri" 4985b161$0$9388$
Bonjour,

Je souhaite creer une fonction qui additionne les seules cellules où la
police est en rouge. Je dois donc créer une fonction "couleur" à l'aide
de visual basic. Mais je n'y arrive pas. Pourriez vous m'aider?

Merci d'avance

Dimitri
dimitri
Le #18550891
Ce n'est pas si un fond est coloré mais si la police est d'une certaine
couleur, j'imagine donc que Function ADD_Couleur(A1:G25;3) ne fonctionne
pas et qu'il faut changer le 3
michdenis a écrit :
Lorsque tu utilises la couleur comme critère d'addition,
il y a une problématique :

A ) si toi ou un usager décide de modifier la couleur d'une
cellule, la fonction "Additionner" ne sera pas mise à jour, tu
devras manuellement utiliser la touche F9 pour faire la mise à jour.

B ) Qu'est-ce qui se passe si quelqu'un modifie la palette de couleurs tu classeur ?

Et si tu y tiens :

La fonction doit être obligatoirement mise dans un module standard.
Et dans une cellule, tu écris : Function ADD_Couleur(A1:G25;3)
Le chiffre 3 représente l'index de la palette de couleur du fond de la cellule.
'-------------------------------
Function ADD_Couleur(Rg As Range, LaCouleur As Integer) As Double

Dim C As Range
For Each C In Rg.SpecialCells(xlCellTypeConstants, xlNumbers)
If C.Interior.ColorIndex = LaCouleur Then
ADD_Couleur = ADD_Couleur + C.Value
End If
Next

End Function
'-------------------------------



"dimitri" 4985b161$0$9388$
Bonjour,

Je souhaite creer une fonction qui additionne les seules cellules où la
police est en rouge. Je dois donc créer une fonction "couleur" à l'aide
de visual basic. Mais je n'y arrive pas. Pourriez vous m'aider?

Merci d'avance

Dimitri



michdenis
Le #18551011
Si c'est la couleur de la police, tu dois modifier
ceci à la fonction :
If C.Interior.ColorIndex = LaCouleur Then
Pour :
If C.Font.ColorIndex = LaCouleur Then



"dimitri" 4985bc32$0$18365$

Ce n'est pas si un fond est coloré mais si la police est d'une certaine
couleur, j'imagine donc que Function ADD_Couleur(A1:G25;3) ne fonctionne
pas et qu'il faut changer le 3
michdenis a écrit :
Lorsque tu utilises la couleur comme critère d'addition,
il y a une problématique :

A ) si toi ou un usager décide de modifier la couleur d'une
cellule, la fonction "Additionner" ne sera pas mise à jour, tu
devras manuellement utiliser la touche F9 pour faire la mise à jour.

B ) Qu'est-ce qui se passe si quelqu'un modifie la palette de couleurs tu classeur ?

Et si tu y tiens :

La fonction doit être obligatoirement mise dans un module standard.
Et dans une cellule, tu écris : Function ADD_Couleur(A1:G25;3)
Le chiffre 3 représente l'index de la palette de couleur du fond de la cellule.
'-------------------------------
Function ADD_Couleur(Rg As Range, LaCouleur As Integer) As Double

Dim C As Range
For Each C In Rg.SpecialCells(xlCellTypeConstants, xlNumbers)
If C.Interior.ColorIndex = LaCouleur Then
ADD_Couleur = ADD_Couleur + C.Value
End If
Next

End Function
'-------------------------------



"dimitri" 4985b161$0$9388$
Bonjour,

Je souhaite creer une fonction qui additionne les seules cellules où la
police est en rouge. Je dois donc créer une fonction "couleur" à l'aide
de visual basic. Mais je n'y arrive pas. Pourriez vous m'aider?

Merci d'avance

Dimitri



Publicité
Poster une réponse
Anonyme