Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Bloquer mise en forme conditionnelle (apres couper et tri)

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

neim

XLDnaute Junior
Bonjour,

Dans ce fichier, j'ai une mise en forme conditionnelle qui fait changer de couleur les lignes à chaque changement de refefrence (colonne B).

Mais lorsque j'execute la macro (qui coupe des lignes et tri) la mise en forme conditionnelle se modifie aussi et ne correspond plus à rien.

Y a t il une facon de "bloquer" la MFC ?

Merci
 

Pièces jointes

Bonjour,

A la fin de ta macro, supprime l'ancienne MEF et remets-en une nouvelle :

VB:
Sub MeFC()

With Sheets("Besoins").Range("A2:W15")            'Sélection des plages où doit s'appliquer la MeF
    'Supprime les MFC existantes
    .FormatConditions.Delete
    'Ajoute une condition (Vrai lorsque la cellule est non vide)
    .FormatConditions.Add Type:=xlExpression, Formula1:="=EST.IMPAIR($A2)"
    .FormatConditions.Add Type:=xlExpression, Formula1:="=EST.PAIR($A2)"

    With .FormatConditions(1)
        'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
        .Interior.Color = 16771071       '.Interior.ColorIndex = 15 'Gris
    End With
    With .FormatConditions(2)
        .Interior.Color = 15555555
    End With
End With

End Sub
Tu remarqueras que les couleurs que j'ai choisies sont magnifiques...
 
Bonjour

Merci, c est vrai que les couleurs sont...éblouissantes 🙂

Par contre, j ai besoin de garder ma mise en forme conditionnelle sur la colonne "R" et que la colonne "P" soit en jaune. c'est possible avec ta macro ?
 
Re,

Tout est possible, la suite :

VB:
Sub MeFC()

With Sheets("Besoins").Range("A2:W300")            'Sélection des plages où doit s'appliquer la MeF
    'Supprime les MFC existantes
    .FormatConditions.Delete
    'Ajoute une condition (Vrai lorsque la cellule est non vide)
    .FormatConditions.Add Type:=xlExpression, Formula1:="=EST.IMPAIR($A2)"
    .FormatConditions.Add Type:=xlExpression, Formula1:="=EST.PAIR($A2)"

    With .FormatConditions(1)
        'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
        .Interior.ColorIndex = 50
    End With
    With .FormatConditions(2)
        .Interior.ColorIndex = 44
    End With
End With

Sheets("Besoins").Range("P:P").FormatConditions.Delete
Sheets("Besoins").Range("P:P").Interior.Color = 65535

With Sheets("Besoins").Range("R2:R200")            'Sélection des plages où doit s'appliquer la MeF
    'Supprime les MFC existantes
    .FormatConditions.Delete
    'Ajoute une condition (Vrai lorsque la cellule est non vide)
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="Retard livraison"
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="DATE 15 jours"
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="Retard composant"
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="Retard composant et livraison"
    'DATE 15 jours

    With .FormatConditions(1)
        'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
        .Font.ColorIndex = 3
        .Font.FontStyle = "Bold"
    End With
    With .FormatConditions(2)
        'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
        .Interior.ColorIndex = 30
        .Font.FontStyle = "Bold"
    End With
    With .FormatConditions(3)
        'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
        .Font.ColorIndex = 3
        .Font.FontStyle = "Bold"
    End With
    With .FormatConditions(4)
        'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
        .Interior.ColorIndex = 3
        .Font.FontStyle = "Bold"
    End With
End With

End Sub
 
Merci,

effectivement on peut tout faire apparemment 🙂

j ai essaye cette version qui selmble fonctionner aussi (en gardant la mise en forme conditionnelle pour les 2 colonnes "R" & "P").

Par contre je ne comprend pas, je change le N° de couleur mais ca ne me donne pas du tout celle que j attend.

36 pour jaune pale
37 pour bleu pale

et toutes les lignes se mettent en rouge tirant vers le noir :

With Sheets("Besoins").Range("A2:O1000,Q2:Q1000,S2:W1000") 'Sélection des plages où doit s'appliquer la MeF
'Supprime les MFC existantes
.FormatConditions.Delete
'Ajoute une condition (Vrai lorsque la cellule est non vide)
.FormatConditions.Add Type:=xlExpression, Formula1:="=EST.IMPAIR($A2)"
.FormatConditions.Add Type:=xlExpression, Formula1:="=EST.PAIR($A2)"

With .FormatConditions(1)
'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
.Interior.Color = 36 '.Interior.ColorIndex = 15 'Gris
End With
With .FormatConditions(2)
.Interior.Color = 37
 
- 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
154
Réponses
4
Affichages
200
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…