Total des cellules en couleur conditionnelle

  • Initiateur de la discussion Initiateur de la discussion Virginie©
  • Date de début Date de début

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 !

V

Virginie©

Guest
Bonsoir le Forum,

Je tente de faire le total (non la somme) ligne par ligne des cellules colorée par une mise en forme conditionnelle mais ,mes compteurs reste à 0 ?. Je ne vois pas ou est mon erreur...

je suis partie d'une macro qui le fait sur des colonnes et qui fonctionne!!
donc à priori ce doit être possible sur des lignes enfin sûrement?


Merci de votre aide

Virginie
 

Pièces jointes

Bonjour le Forum, bonjour Virginie.

Ta question sur la somme conditionnelle ( somme si couleur ... ) m'intéresse beaucoup.
Je constante avec joie que tu as déja une solution si les chiffres sont en colonne. Pourrais-tu me faire savoir comment écrire ce code ?
J'ai un niveau moyen en VBA.

En plus est-ce possible de cela avec simplement des formules.

Merci à tous pour l'aide.



Tapsoba
 
Bonjour,




J'ai tenté de balayer la zone et de tester les couleurs de remplisssage et comparer à aucun remplissage ( Code couleur -4142 ) afin de déduire les cellules contenant la couleur BLEU.

Il semble que la couleur BLEU ( Bien visible ) à l'écran a pour valeur -4142 par lecture : MsgBox Range("Z12").Interior.ColorIndex


C'est bizarre ?
 
Bonjour ,

voici le code de la macro pour le total de cellules colorée par une MEFC

Option Explicit
Dim Compteur As Integer
Dim Cell As Range
Dim tot As Long
Dim var As Long
Dim C As Byte

Private Sub cmdCompteG_Click()
Application.ScreenUpdating = False

For Each Cell In Range("A1:G1")
C = Cell.Column
tot = 0
For Compteur = 4 To 4800
var = Application.WorksheetFunction.CountIf(Range("I" & Compteur & ":BT" & Compteur), Cells(Compteur, C))
If var > 0 Then
tot = tot + 1
End If
Next Compteur
Cell.Value = tot
Next Cell
Application.ScreenUpdating = True
End Sub

et pour le format : la formule est :=NB.SI($I5:$BT5;A5)>0

autrement par formule uniquement(pour la demande que j'ai formulé pour le calcul des lignes)
colle cette formule en AF12:=SOMMEPROD((NB.SI(U12:AD12;AG12:AM12)>0)*1)
il ne reste te plus qu'a mettre tes chiffres de AG à AM
voila

ps:je ne sais toujours pas si on peut le faire par Macro pour les lignes

bonne soirée

Virginie
 
Option Explicit
Dim Compteur As Integer
Dim Cell As Range
Dim tot As Long
Dim var As Long
Dim C As Byte

Private Sub cmdCompte_Click()
Application.Volatile
Application.ScreenUpdating = False

For Each Cell In Range("AF12:AF67")
C = Cell.Row
tot = 0
For Compteur = 21 To 31
var = Application.WorksheetFunction.CountIf(Range("AG" & C & ":AM" & C), Cells(C, Compteur))
If var > 0 Then
tot = tot + 1
End If
Next Compteur
Cell.Value = tot
Next Cell
Application.ScreenUpdating = True
End Sub
 
Bonjour,

Merci beaucoup d'être revenu et d'avoir mis le code en ligne

ca fonctionne sans erreurs ,cependant je ne m'explique pas cette ligne
For Compteur = 21 To 31
alors si tu repasse tu pourra peut être m'expliquer ce détail .


Virginie
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
564
Réponses
2
Affichages
155
Réponses
6
Affichages
230
Retour