XL 2010 inverse compte couleur

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 !

poipoi

XLDnaute Impliqué
Bonjour,
j'ai récupéré le code pour compter le nombre de cellules ayant la même couleur dans une colonne, Merci à Jacques Boisgontier (Fonction sommeCouleurFond)

Maintenant je souhaiterai pouvoir faire l'inverse, c'est à dire indiquer dans une cellule, le nombre de cellules devant avoir la même couleur dans une colonne..
exemple: en a1: 8 alors b1:b8 sont de la même couleur
est-ce possible.. ?
Joyeux Noël et mille mercis
 
Bonjour Job75, Staple1600
je suis long à répondre toutes mes excuses .... faut s'occuper du repas de Noël!!

vos solutions sont super, merci beaucoup vous 2
par contre je n'arrive pas à adapter celle de Staple1600 (qui fonctionne nickel par ailleurs)
à mon projet.
en pièce jointe vous trouverez ce que je souhaite (si possible)
bon après-midi
 

Pièces jointes

Re

La mienne ne fonctionne pas nickel en l'état 😉
Car si tu saisis abc dans une cellule, le nickel va se transformer en plomb 😉

Ici, c'est un peu mieux 😉
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Len(Target) Then
Target.Offset(, 1).Resize(Target.Value).Interior.ColorIndex = 6
End If
End Sub
NB: J'aurai eu reprendre la syntaxte de job75, mais je te laisse, poipoi, le soin de le faire 😉
(et de faire les tests idoines)
 
On s'en approche Staple, mais mes capacités sont trop limités pour triturer les codes et les obliger à correspondre à ce que j'aimerais.

En gros, ta solution fonctionne nickel (oui oui, j'y tiens) sauf que les cellules colorées doivent être situées à partir de la ligne 18 en remontant et sur la même colonne.
Ainsi si je tape le chiffre 3 en B20, il y aura 3 cellules dont le fond sera de la même couleur B16:B18... si j'ai 10 en H20, les cellules H11:H20 auront la même couleur de fond....

merci Staple1600
 
Bonjour poipoi, JM, le forum,

Si vous n'aimez pas les MFC voyez le fichier joint :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rc&, v As Range, col%, h&
Application.ScreenUpdating = False
With [B3:Q18]
    [A1].Copy .Cells 'copie A1 avec ses bordures
    rc = .Rows.Count
    Set v = .Rows(rc + 2).Cells 'ligne des valeurs
    For col = 1 To .Columns.Count
        h = rc - Int(Abs(Val(v(col))))
        If h Then
            With .Cells(1, col).Resize(h)
                .Interior.ColorIndex = xlNone
                .Borders.Weight = xlThin
                .Borders.ColorIndex = 15 'gris
            End With
        End If
    Next
End With
End Sub
A+
 

Pièces jointes

Bonjour Job75, le forum
comme l'indiquait le post #3 hier , n'y arrivant pas en VBA, j'ai utilisé les MFC mais évidemment, je n'y avais pas pensé plutôt, je suis vraiment nul...
et aujourd'hui je trouve la solution de Job75.. merci beaucoup
et cerise sur la gâteau il double la mise en VB... que dire sinon encore merci..
bonne et joyeuse fin d'année à vous tous
 
- 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
1
Affichages
663
Réponses
12
Affichages
1 K
L
Réponses
3
Affichages
760
LeGrosMatou
L
Réponses
7
Affichages
1 K
Retour