XL 2010 trouver le code couleur en MFC

migau

XLDnaute Nouveau
bonjour à tous

excel 2016

malgré le tutoriel du forum, je n'arrive pas à mes fins.

j'ai un tableau 250 lignes et 17 colonnes
selon un critère bien défini des cellules sont coloriées en jaune soit 0 , ou 1 ou 2 cellules par lignes par une mise en forme conditionnelle
je cherche à récupérer le code couleur jaune de cette cellule.

d'après ce que j'ai trouvé , il faut ajouter display à la commande.

pouvez vous m'aider?

merci
 
Solution
Bonjour migau, patricktoulon,

Voyez ce fichier (2) et le code :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet, i&, j%
Set F = Sheets("code_couleur")
F.Cells.ClearContents 'RAZ
With [B4].CurrentRegion 'plage à adapter
    For i = 1 To .Rows.Count
        For j = 1 To .Columns.Count
            F.Cells(i, j) = .Cells(i, j).DisplayFormat.Interior.ColorIndex
Next j, i
End With
End Sub
A+

migau

XLDnaute Nouveau
tout d'abord merci job75 pour votre aide.

j'ai besoin des deux, svp

pour récupérer le code couleur

=couleur(a5) donne(exemple) 6 ( je n'y arrive pas lorsque le fond est de couleur par la mise en forme conditionnelle

et ensuite

compter le nombre de cellules ligne par ligne dont la mise en forme conditionnelle est jaune

ici ce doit être nb.si(a2: a18; 6)

en espérant être assez précis



merci
 

job75

XLDnaute Barbatruc
Voyez le fichier joint et cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim decal&, c As Range
decal = 8 'décalage à adapter
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
For Each c In [B4:H9] 'plage à adapter
    c.Offset(decal) = c.DisplayFormat.Interior.ColorIndex
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
Elle se déclenche automatiquement quand on modifie ou valide une cellule quelconque.
 

Pièces jointes

  • code_couleur_MFC(1).xlsm
    16.6 KB · Affichages: 37

migau

XLDnaute Nouveau
hello job75

puis je déplacer le résultat des codes couleurs sur une autre page , stp.

j'aibien compris que je devais adapter
decal = 8
'décalage à adapter

la plage
[B4:H9] 'plage à adapter

mon tableau fait 256 lignes et 17 colonnes
je souhaiterai que les codes couleurs soient sur une autre page.

pour info, vous rendez service à 256 étudiants en fac, les cours sont dispensés par visio.
afin de récupérer les cours dont les notes sont trop faibles et retravailler le cours.

merci pour eux
 

Pièces jointes

  • code_couleur_MFC(1).xlsm
    14.8 KB · Affichages: 28

job75

XLDnaute Barbatruc
Bonjour migau, patricktoulon,

Voyez ce fichier (2) et le code :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet, i&, j%
Set F = Sheets("code_couleur")
F.Cells.ClearContents 'RAZ
With [B4].CurrentRegion 'plage à adapter
    For i = 1 To .Rows.Count
        For j = 1 To .Columns.Count
            F.Cells(i, j) = .Cells(i, j).DisplayFormat.Interior.ColorIndex
Next j, i
End With
End Sub
A+
 

Pièces jointes

  • code_couleur_MFC(2).xlsm
    18 KB · Affichages: 46

migau

XLDnaute Nouveau
bonsoir Job75

parfait c'est super, j'ai le résultat escompté.un grand merci


VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet, i&, j%
Set F = Sheets("code_couleur") ' nom de la seconde feuille
F.Cells.ClearContents 'RAZ
With [E5].CurrentRegion 'plage à adapter
    For i = 1 To .Rows.Count
        For j = 5 To .Columns.Count 'colonne modifiée
            F.Cells(i, j) = .Cells(i, j).DisplayFormat.Interior.ColorIndex
Next j, i
End With
End Sub


par contre si je veux seulement une plage définie
E5 à U 258 , je n'ai pas besoin des couleurs sur les autres cellules.

Si je laisse une colonne vide à droite et une ligne vide en bas du tableau,
je contourne mon soucis.



désolé, je ne peux pas t'envoyer le vrai fichier Excel, il y a des données confidentielles.

à te lire
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
110