XL 2010 inverse compte couleur

poipoi

XLDnaute Occasionnel
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
 

Staple1600

XLDnaute Barbatruc
Bonjour

Une MFC suffirait non?
Sinon voir ceci, pour un petit test
(à peaufiner: cellule vide etc...)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Offset(, 1).Resize(Target.Value).Interior.ColorIndex = 6
End Sub
EDITION:Bonjour job75
 

poipoi

XLDnaute Occasionnel
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

  • couleur_fond.xlsm
    14 KB · Affichages: 11

Staple1600

XLDnaute Barbatruc
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)
 

poipoi

XLDnaute Occasionnel
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
 

job75

XLDnaute Barbatruc
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

  • couleur_fond VBA(1).xlsm
    21 KB · Affichages: 6

poipoi

XLDnaute Occasionnel
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
 

Discussions similaires

Réponses
3
Affichages
245

Statistiques des forums

Discussions
312 113
Messages
2 085 430
Membres
102 889
dernier inscrit
monsef JABBOUR