XL 2016 Mise en forme conditionelle

richardlion

XLDnaute Occasionnel
Bonjour à tous, je recherche à faire une mise en forme conditionnelle

à partir de deux colonnes
exemple :
je souhaite dans ma colonne couleur I5 faire apparaitre la couleur correspondante

de la colonne P en fonction des lettres alphabétique de la colonne J

mais aussi des chiffres de la colonne K

exemple :

dans ma mise en forme conditionnelle soi j’aurais juste a prendre les infos de la colonne j

ou j’aurais a prendre aussi les infos de la colonne K

exemple pour la cellule stabiloté en jaune (colonne O) ma condition devra prendre JH avec le chiffre 1 et 2
a votre disposition


Merci a vous
 

Pièces jointes

  • enlèvement test excel.xlsx
    165.5 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Richardlion,
Ca, je ne sais pas faire en MFC.
Par contre en VBA je sais faire. Voir PJ.
L'action se fait en cliquant sur le bouton Colorer, avec :
VB:
Sub Colorer()
    Dim DL%, L%, Lc%, TypeCouleur
    Application.ScreenUpdating = False
    DL = [J65000].End(xlUp).Row
    For L = 5 To DL
        TypeCouleur = Cells(L, "J")
        If IsError(Cells(L, "J")) Then
            Cells(L, "I").Interior.Color = xlNone
        ElseIf Application.CountIf([O1:O100], TypeCouleur & "*") = 0 Then  ' car type non trouvé
            Cells(L, "I").Interior.Color = xlNone
        Else
            Lc = Application.Match(TypeCouleur & "*", [O1:O100], 0)
            Cells(L, "I").Interior.Color = Cells(Lc, "P").Interior.Color
        End If
    Next L
End Sub
 

Pièces jointes

  • enlèvement test excel (1).xlsm
    195.1 KB · Affichages: 1

richardlion

XLDnaute Occasionnel
Bonjour Sylvanu,
merci a toi pour le job, c'est une solution, mais qui peut etre gênante car selon l'extraction de mon fichier les colonnes peuvent être différentes.
je ne vois pas dans la macro comment est représenté l'indication de la colonne K du 1, ou 2, ou 3, ou4
a ta disposition
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Comme dans votre liste la couleur est donnée par les deux premières lettres, j'ai ignoré ce qu'il y avait dérrière, JH 1,2 3 ou 4 sont traités de la même façon, avec :
VB:
Application.Match(TypeCouleur & "*", [O1:O100], 0)
"*" signifiant "tout caractère"
qui peut etre gênante car selon l'extraction de mon fichier les colonnes peuvent être différentes.
Est ce que dans toutes vos extractions la colonne à colorer commencera par "COULEUR" ?
Ensuite peut on mettre avant la palette de couleur "PALETTE" ?
Cela permettrait de s'affranchir des colonnes, il suffirait de repérer ces deux mots.
 

richardlion

XLDnaute Occasionnel
Re,
pour les éléments derrière le lettrage il ne faut pas l'ignorer, car dans l'extraction dans la colonne K tu peux avoir un chiffre comme 5 et que je ne veux pas colorier.
seront a colorier que les chiffres qui sont décidé en colonne O pas les autres qui peuvent etre en colonne K
pour la deuxième partie je te propose de mettre emplacement couleur a la place de palette couleur
a ta disposition
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
pour les éléments derrière le lettrage il ne faut pas l'ignorer, car dans l'extraction dans la colonne K tu peux avoir un chiffre comme 5 et que je ne veux pas colorier.
Ca, ca change tout ! C'est quand même un élément important. La macro telle qu'elle est ne peut pas fonctionner.
C'est pour ça qu'on demande un fichier test vraiment représentatif, cela évite de reprendre plusieurs fois le travail.
 

Statistiques des forums

Discussions
312 210
Messages
2 086 281
Membres
103 170
dernier inscrit
HASSEN@45