Couleur Cellule

LudivineDavid

XLDnaute Nouveau
Bonjour,


Je me permets de vous contacter car je souhaiterais que les cellules qui sont d'une couleur se calcule ensemble...
Je souhaiterais faire les totaux en bas de page.

voici l'exemple de ma feuille

Je vous remercie par avance de vos réponses
Cordialement
 

Pièces jointes

  • exemple1.xls
    45 KB · Affichages: 45
  • exemple1.xls
    45 KB · Affichages: 39
  • exemple1.xls
    45 KB · Affichages: 43
  • essai def.xls
    68 KB · Affichages: 32
Dernière édition:

JHA

XLDnaute Barbatruc
Re : Couleur Cellule

Bonjour à tous,

Cette fonction personnalisée a été mise sur le forum depuis bien longtemps.
Voir "visualiser le code" par clic droit sur le nom d'onglet

JHA
 

Pièces jointes

  • exemple somme couleur VBA.xls
    56 KB · Affichages: 44

Hulk

XLDnaute Barbatruc
Re : Couleur Cellule

Hello les amis :)

Une autre version (macro), code à placer dans un module par exemple...
Code:
Sub calculeCellulesCouleurs()
    
    'Déclaration des variables
    Dim cel As Range
    Dim tot1, tot2, tot3  As Variant
    
    'Pour la feuille "Feuil1"
    With Sheets("Feuil1")
        'Pour toutes les cellules de la plage B7:AD26... À adapter
        For Each cel In .Range("B7:AD26")
            '1ère condition : Si pas de couleur
            If cel.Interior.ColorIndex = xlNone Then 'Sans couleur
                '2ème condition : Si valeur numérique
                If IsNumeric(cel) Then
                    'total1 = total1 + les cellules de cette couleur
                    tot1 = tot1 + cel.Value
                    'Renvoie le total1 dans la cellule A2 de la feuille "Feuil2"
                    Sheets("Feuil2").Range("A2") = Format(tot1, "#'##0.00 €") 'Ici tu modifies l'endroit si tu veux
                'Fin de la 2ème condition
                End If
            'Fin de la 1ère condition
            End If
            'Idem mais si cellules oranges
            If cel.Interior.ThemeColor = xlThemeColorAccent6 Then 'Orange
                If IsNumeric(cel) Then
                    tot2 = tot2 + cel.Value
                    'Renvoie le total2 dans la cellule B2 de la feuille "Feuil2"
                    Sheets("Feuil2").Range("B2") = Format(tot2, "#'##0.00 €") 'Ici
                End If
            End If
            'Idem mais si cellules bleues
            If cel.Interior.ThemeColor = xlThemeColorAccent5 Then 'Bleu
                If IsNumeric(cel) Then
                    tot3 = tot3 + cel.Value
                    'Renvoie le total3 dans la cellule C2 de la feuille "Feuil2"
                    Sheets("Feuil2").Range("C2") = Format(tot3, "#'##0.00 €") 'Et ici
                End If
            End If
        'Fin de la boucle
        Next
    'Fin du bloc With
    End With
    
End Sub
Mais ne sachant pas précisément où renvoyer les résultats, je les ai mis en "Feuil2"... À adapter.

Pour la plage à traiter idem, on ne sait pas vraiment... À adapter.

Je pense que les versions (fonctions) proposées par Jha et Gibe sont plus adéquates, mais vu que je me suis amusé à y faire... :cool:
 

Statistiques des forums

Discussions
312 393
Messages
2 087 963
Membres
103 687
dernier inscrit
olivier72