SOMME SI COULEUR [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
-
Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
-
Bonjour,

Je coince avec un classeur, un planning 2018.


J'utilise cette fonction :

Function SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range) As Variant
'*********************************************************
' Effectuer la somme des cellules en couleur *
'*********************************************************
Dim Cel As Range
Dim Som As Double

If PlageCouleur.Cells.Count > 1 Then
SOMME_SI_COULEUR = CVErr(xlErrValue)
Exit Function
End If
For Each Cel In PlageSomme
If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + Cel
Next
SOMME_SI_COULEUR = Som
End Function


depuis trois années j'utilise cette fonction et pas de souci, mais là je n'arrive pas à trouver pourquoi ça ne fonctionne pas.
J'ai enregistré mon fichier en .xlsm mais idem !

Si idée merci pour le retour.

8 réponses

Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
1
Bonjour mod100,

Oui les couleurs sont bien identiques. Par contre, je me rend compte qu'ici je devrais avoir 0 et non #NOM?

=SOMME_SI_COULEUR(B14:AF14; AH14)

AH14 étant ma référence en bleu (H+)

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56962 internautes nous ont dit merci ce mois-ci

Messages postés
609
Date d'inscription
dimanche 17 septembre 2017
Statut
Membre
Dernière intervention
25 février 2019
128
Bonjour,
Lors d'une vérification il ne faut pas plutôt faire "IF(a==b)" au lieu de "IF(a=b)" ?
Messages postés
126
Date d'inscription
jeudi 9 décembre 2010
Statut
Membre
Dernière intervention
21 février 2019
16
Re Amesam,

Ta plage B14:AF14 ne serait-elle pas issue de MFC, car si c'est le cas, la fonction
=SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range)
ne peut pas fonctionner.

Je pense que tu devrais joindre ton fichier afin de vérifier tout ça.

@+
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Bonjour,
la fonction personnalisée fonctionne très bien que lui reproches tu !
Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
1
Bonjour,

je ne lui reproche rien :o) et en effet d'habitude ça fonctionne très bien !
Je cherche juste à comprendre pourquoi ça ne fonctionne pas alors que ça marche depuis plusieurs années sur d'autres fichier.
Messages postés
126
Date d'inscription
jeudi 9 décembre 2010
Statut
Membre
Dernière intervention
21 février 2019
16
Bonjour Amesam, Mike-31,

Amesam, as-tu vérifié que les couleurs:
=SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range)
sont bien identiques ?

Cordialement.
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Re,

si la couleur utilisée dans ton tableau est la même utilisée dans ta cellule critère il n'y a aucun problème
par contre si tu colorises tes cellules il faut que tu cliques sur la touche F9 pour mettre à jour le calcul.
Application.Volatile en début de code actualisera la somme uniquement lors de la saisie de valeurs mais pas après la colorisation
je te propose d'ajouter ce code dans les propriétés de ta feuille
clic droit sur l'onglet de la feuille concernée/Visualiser le code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub


Mais comme le signale à juste titre mdo si la colorisation est issue d'une mise en forme conditionnelle la fonction ne s'appliquera pas.
Suis son conseil joint un exemple de fichier anonymisé
A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
1
Enfin, résultat obtenu !
Pour être honnête je ne sais pas trop comment !

Une chose aussi que je ne maitrise pas :
Pour valider le calcul il faut valider à chaque fois avec F9 et mon Module1 ne s’alimente pas !?


Lien du fichier :o)
https://cloudtag.io/hashtag/PlanningATLsvh1953zzrlpo27
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Re,

tu as au moins lu mon dernier post et as tu placé mon bout de code dans les propriétés de ta feuille comme je te l'ai expliqué pour automatiser le calcul
visiblement NON !
Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
1
Bonjour Mike-31 et à tous,

En effet et désolé, non je n'avais pas fait attention à ton message.
Effectivement je viens de suivre ta procédure et ça fonctionne automatiquement sans la touche F9, donc nickel :o)
Par contre je ne comprends toujours pas pourquoi avant ça fonctionnait sans cet ajout !
Et que malgré cet ajout, le Module1 ne se remplit pas suite au action sur le tableau (comme avant).

Mais le principal est que ça soit fonctionnel et c'est le cas.

Merci à tous pour ce coup de pouce.

Bonne journée.
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Re,

je suis très sceptique que ton code fonctionnait correctement avant sans passer par la touche F9 ou la syntaxe
Application.Volatile en début de code ou le code Calculate que je t'ai proposé
enfin tu as atteint ton objectif
je passe le statut de la discussion en résolu
Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
1
Non, je me suis surement mal exprimé !
Je te confirme que ça marchait qu'avec la touche F9 et depuis l'intégration de tes lignes les modifications sont prises automatiquement après avoir validé avec la touche Entrée, donc effectivement plus besoin de passer par F9.
Par contre je ne sais pas si c'est depuis l'intégration de ces lignes je ne peux plus coller.
Le copie fonctionne car si je colle dans un autre document je récupère bien la copie ???

Je cherche pourquoi. Merci.
Messages postés
18
Date d'inscription
dimanche 2 décembre 2012
Statut
Membre
Dernière intervention
9 janvier 2018
1
Après test, je confirme que suite à l'ajout de ces lignes :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

Le coller ne fonctionne plus.

J'ai rajouté :

Application.OnKey “ ^ C”
Application.OnKey “ ^ X”
Application.OnKey “ ^ V”

Mais idem.

Si idée, merci.