Calcul en fonction de la couleur ou non de Cellules

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 !

Leskwal

XLDnaute Occasionnel
Bonjour le forum

Alors voilà:

Je suis actuellement sur la création d'un fichier Excel (Normal c'est pourquoi je suis sur ce forum 😀)

Je bute sur un problème que je n'ai su trouver sur le forum.


Je cherche à ce que des sommes soient effectuées en bout de chaque ligne de mon tableau en fonction de la présence ou non de couleur dans les cellules. 😕



Comme mon fichier actuel est assez lourd, j'ai créé un fichier exemple expliquant la situation.


Merci d'avance pour votre réponse

Cordialement

Pascal
 

Pièces jointes

Re : Calcul en fonction de la couleur ou non de Cellules

Bonjour Leskwal,
Si les cellules ne sont pas colorisées par mise en forme conditionnelle, le principe est le suivant:
Code:
[COLOR=blue]Sub[/COLOR] NbrCouleurs()
Application.ScreenUpdating = [COLOR=blue]False[/COLOR]
[COLOR=blue]For[/COLOR] i = 3 [COLOR=blue]To[/COLOR] 8[COLOR=green] 'représente les lignes[/COLOR]
    [COLOR=blue]For[/COLOR] j = 2 [COLOR=blue]To[/COLOR] 11[COLOR=green] 'représente les colonnes[/COLOR]
        [COLOR=blue]If[/COLOR] Cells(i, j).Interior.ColorIndex <> xlNone [COLOR=blue]Then[/COLOR]
            Var = Var + 1
        [COLOR=blue]Else[/COLOR]
            Var2 = Var2 + 1
        [COLOR=blue]End If[/COLOR]
    [COLOR=blue]Next[/COLOR] j
    Cells(i, 12) = Var
    Cells(i, 13) = Var2
    Var = 0
    Var2 = 0
[COLOR=blue]Next[/COLOR] i
Application.ScreenUpdating = [COLOR=blue]True[/COLOR]
[COLOR=blue]End Sub[/COLOR]

Après il faut voir l'utilisation réelle.
Cordialement
 
Re : Calcul en fonction de la couleur ou non de Cellules

Re

Code:
Sub NbrCouleurs()
Application.ScreenUpdating = False
For i = 3 To 8 'représente les lignes
    For j = 2 To 11 'représente les colonnes
        If Cells(i, j).Interior.ColorIndex <> xlNone Then
            Var = Var + 1
        Else
            Var2 = Var2 + 1
        End If
    Next j
    Cells(i, 12) = Var
    Cells(i, 13) = Var2
    Var = 0
    Var2 = 0
Next i
Application.ScreenUpdating = True
End Sub



Ce code fait le comptage des cellules colorisées.
Ce n'est pas exactement ma demande... 😀

Je souhaite non pas le comptage des cellules colorisées mais la somme du contenu des cellules colorisées ou non. 🙂

Ex :

A1 en Rouge : valeur 5 heures
B1 en Vert: valeur 4 heures
C1 en Bleu: valeur 3 heures
D1 en RIEN: valeur 2 heures
E1 en RIEN: valeur 1 heures
F1 en RIEN: valeur 7 heures
G1 en Rouge : valeur 6 heures
H1 en Rouge : valeur 3 heures

Soit pour les cellules colorisées = 5 + 4 + 3 + 6 + 3
TOTAL = 21

Pour les non colorisées = 2 + 1 + 7
TOTAL = 10


Merci d'avance

Pascal
 
Re : Calcul en fonction de la couleur ou non de Cellules

Re Leskwal, Bonjour Tototiti,
Alors :
Code:
[COLOR=blue]Sub[/COLOR] NbrCouleurs()
Application.ScreenUpdating = [COLOR=blue]False[/COLOR]
[COLOR=blue]For[/COLOR] i = 3 [COLOR=blue]To[/COLOR] 8[COLOR=green] 'représente les lignes[/COLOR]
    [COLOR=blue]For[/COLOR] j = 2 [COLOR=blue]To[/COLOR] 11[COLOR=green] 'représente les colonnes[/COLOR]
        [COLOR=blue]If[/COLOR] Cells(i, j).Interior.ColorIndex <> xlNone [COLOR=blue]Then[/COLOR]
            Var = Var + Cells(i, j).Value
        [COLOR=blue]Else[/COLOR]
            Var2 = Var2 + Cells(i, j).Value
        [COLOR=blue]End If[/COLOR]
    [COLOR=blue]Next[/COLOR] j
    Cells(i, 12) = Var
    Cells(i, 13) = Var2
    Var = 0
    Var2 = 0
[COLOR=blue]Next[/COLOR] i
Application.ScreenUpdating = [COLOR=blue]True[/COLOR]
[COLOR=blue]End Sub[/COLOR]
Cordialement
 
- 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

Discussions similaires

Réponses
5
Affichages
422
W
Retour