Compte couleur fond + trame

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

Nekoty

XLDnaute Junior
Bonjour au forum,

J'ai besoin de compter les couleurs de fond avec en plus la trame (les petits points ou les rayures).

Donc sur le site de Boisgontier j'ai utilisé la macro qui fonctionne à merveille, mais elle ne reconnait pas la trame.

Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

Je ne peux malheureusement pas changer les couleurs de fond qui sont utilisées par plusieurs services.

Merci pour votre aide
 
Re : Compte couleur fond + trame

Bonjour,

voici un exemple qui correspond à certains petits points.
A toi de trouver la bonne valeur pour remplacer xlGray16 dans la macro suivante.

Pour cela tu sélectionnes une cellule qui contient la trame de fond que tu souhaites compter et dans l'éditeur de macro (VBE) tu fais CTRL+G
et dans la fenêtre execution tu tapes:

?ActiveCell.Interior.Pattern

Avec le point d'interrogation et tu valides.

Code:
Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf   And [COLOR=red]c.Interior.Pattern = xlGray16[/COLOR] Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

A+
 
Re : Compte couleur fond + trame

Bonjour Hasco,

Voilà, j'ai fais comme mentionné mais pas de résultat

Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf And c.Interior.Pattern = xlGray16 Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

et ajout dans "execution" de ?ActiveCell.Interior.Pattern.

Je ne vois pas où ça peut bloqué.

Merci
 
Re : Compte couleur fond + trame

Hello,

bien, tu as su trouver.

Code:
?ActiveCell.Interior.Pattern.
Dans la fenêtre excécution permet uniquement de connaître la valeur de la propriété Interior.Pattern de la cellule active!😀

A+
 
Re : Compte couleur fond + trame

Re le forum, Hasco,

Voilà, Hasco m'a bien aidé hier, mais quand je change d'ordinateur et de version d'Excel, ça marche ou ça bug.

Sur Excel 2003, la différence n'est pas prise en compte, n'est considéré que la couleur de fond et la trame passe aux oubliettes.

voici le VBA
Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf And c.Interior.Pattern = xlGray8 Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

Merci pour l'aide que vous m'apporté.
 
Re : Compte couleur fond + trame

Bonjour Nekoty, le forum,

Je n'ai pas xl 2003 mais 2002 et 2007 et sûr les deux ceci fonctionne:

Code:
Public Function CompteCouleurFond2(champ As Range, couleurfond As Range)
    Application.Volatile
    Dim c, temp, cf, tr
    temp = 0
    cf = couleurfond.Interior.Color
   [COLOR=red] tr = couleurfond.Interior.Pattern
[/COLOR]    For Each c In champ
        If c.Interior.Color = cf And c.Interior.Pattern = [B][COLOR=red]tr [/COLOR][/B]Then
            temp = temp + 1
        End If
    Next c
    CompteCouleurFond2 = temp
End Function

A+
 
- 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
2
Affichages
864
Réponses
13
Affichages
3 K
Retour