Différencier selon la couleur ?

  • Initiateur de la discussion Initiateur de la discussion Tybo
  • 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 !

T

Tybo

Guest
Bonjour à toutes et à tous,

je me tourne vers vous pour une petite question :

toutes les semaines, nous faisons un point sur la facturation. Et j'aimerai faire un calcul automatique par mois de ce qui est à facturé mais aussi de ce qui est déjà facturé. Vous verrez dans le fichier joint que certains chiffres sont en noir et d'autres en rouge, je voudrais faire en sorte que quand un chiffre est noir, il est comptabilisé dans ce qui est à facturer (total du bas) alors que ce qui est en rouge est comptabilisé comme étant déjà facturé (total du haut).
Petite précision, le nombre de lignes n'est pas fixe, il faudrait donc que la macro s'adapte au nombre de projets présents.

Comment faire ? Une macro peut elle différencier des données selon la couleur ?

D'avance merci
 
Dernière modification par un modérateur:
Dernière édition:
Re : Différencier selon la couleur ?

Bonjour,
A partir du lien de Catrice :
Getting The Range Of Cells With A Specific Color
The following function will return a Range object consisting of those cells in a range that have either an Interior (background) or Font of a specified color. InRange is the range of cells to examine, WhatColorIndex is the ColorIndex value to count, and OfText indicates whether to use the ColorIndex of the Font (if OfText is True) or the Interior (if OfText False or omitted). This function uses the AddRange function to combine two ranges into a single range, without the possible problems of the Application.Union method. See AddRange, below, for more details about this function.
Function RangeOfColor(InRange As Range, _
WhatColorIndex As Integer, _
Optional OfText As Boolean = False) As Range
'
' This function returns a Range of cells in InRange with a
' background color, or if OfText is True a font color,
' equal to WhatColorIndex.
'
Dim Rng As Range
Application.Volatile True

For Each Rng In InRange.Cells
If OfText = True Then
If (Rng.Font.ColorIndex = WhatColorIndex) = True Then
Set RangeOfColor = AddRange(RangeOfColor, Rng)
End If
Else
If (Rng.Interior.ColorIndex = WhatColorIndex) = True Then
Set RangeOfColor = AddRange(RangeOfColor, Rng)
End If
End If
Next Rng

End Function
Il faut tout lire...et adapter bien sûr.

Cordialement

Edit : pas raffraichi, Catrice...
 
Dernière édition:
Re : Différencier selon la couleur ?

Re,

Dans ton fichier, la fonction du lien : Functions For Cell Colors modifiée ...

Attention, il y avait une couleur qui n'avait pas le meme index 🙁
K17 marron index 9
K20 marron index 53

Edit : au passage, je trouve dangeureux de faire la somme en fonction de la couleur. Le résultat peut etre faux à cause d'une nuance de couleur 🙁
La graisse de la police est peut etre plus sure car binaire....
 

Pièces jointes

Dernière édition:
Re : Différencier selon la couleur ?

Merci Catrice !

Toutefois, je rencontre encore un pb, j'ai réussi à faire la somme des nombres en rouge mais je n'arrive pas à faire la même chose pour les nombres en noir.
On ne peut pas utiliser la fonction 2 fois mais différement dans la même feuille ? (ca m'étonnerait bcp)

Solution trouvée, attention à différencier "couleur automatique" du noir !
 

Pièces jointes

Dernière modification par un modérateur:
- 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
0
Affichages
887
Retour