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

Plus de 3 mise en forme conditionnelle

  • Initiateur de la discussion Initiateur de la discussion Dorothée
  • 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 !

D

Dorothée

Guest
Bonjour à tous,

Je souhaiterais mettre en place plusieurs mise en forme conditionnelle (5) et vous savez que nous ne pouvons en faire que 3 avec la MFC... mes limites sont là.
Je souhaite une couleur quand la cellule est : C
,une autre pour A, une autre pour G, etc. etc.
Est ce que vous pouvez m'expliquer sachant que ma Sté a bloqué l'accés aux fichiers Zip... Merci de m'aider
 
Bonjour,
cherches-tu comme ça
Je l'ai arrangé pour moi et en fouillant sur le forum.
A + [file name=exe.zip size=7228]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exe.zip[/file]
 

Pièces jointes

Bonjour Henri, Dorothée, le Forum,


Voici un code VBA de My Dear Friend si ca peut t'aider. a+

Code:
Option Explicit
'---------------------------------------------------------------------------------------
' Auteur    : Didier FOURGEOT (myDearFriend!)
' Date      : 18/09/2005
' Sujet     : MFC multiples
'---------------------------------------------------------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim TabTemp As Variant
Dim L As Long
Dim V As Variant
    'Ne gère pas les sélections de plages
    If Target.Cells.Count > 1 Then Exit Sub
    'Vérifie la présence du format conditionnel 'spécial'
    If Target.FormatConditions.Count < 1 Then Exit Sub
    If Target.FormatConditions(1).Formula1 = '=mDF' Then
        With Sheets('MFC')
            'Charge les préférences dans un tableau variant temporaire
            L = .Range('A65536').End(xlUp).Row
            TabTemp = .Range(.Cells(1, 1), .Cells(L, 1)).Value
            'Détermine le format à utiliser suivant la valeur de la cellule
            If Target.Value = '' Then
                L = 1
            Else
                For L = 2 To UBound(TabTemp, 1)
                    'Fonctionne en minuscule/majuscule pour les chaines de caractères
                    If UCase(Target.Value) = UCase(TabTemp(L, 1)) Then Exit For
                Next L
            End If
            'Gestion des erreurs (impératif, compte tenu de la désactivation des évènements)
            On Error GoTo Fin
            Application.EnableEvents = False
            'Applique le format (sauf les bordures)
            .Cells(L, 2).Copy
            V = Target.Formula
            Target.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
            Target.Formula = V
            'Il semble que sur Mac et dans certaines situations (non ciblées) le format
            'conditionnel 'spécial' d'origine ne soit pas écrasé par le nouveau, il convient
            'donc de s'en assurer avant de réimposer ce format spécial.
            If Target.FormatConditions.Count < 1 Then Target.FormatConditions.Add Type:=xlExpression, Formula1:='=mDF'
            Application.CutCopyMode = False
            Application.EnableEvents = True
        End With
    End If
    Exit Sub
Fin:
    'En cas d'erreur dans le code, il convient impérativement de rétablir la gestion des
    'évènements d'application pour la suite. Par une gestion d'erreur, on réaffecte la
    'valeur True à la propriété Application.EnableEvents et on informe l'utilisateur qu'une
    'erreur non gérée est survenue
    MsgBox 'Erreur non gérée dans la procédure Workbook.SheetChange()' & vbLf & 'Erreur : ' & _
        Err & ' ' & Err.Description, vbOKOnly, 'myDearFriend!'
    Application.EnableEvents = True
End Sub
 
Ave,

Dans le module de la feuille et pour la plage A1:A10

Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
Select Case zz
Case 'A': zz.Interior.ColorIndex = 1
Case 'B': zz.Interior.ColorIndex = 2
Case 'C': zz.Interior.ColorIndex = 3
'etc.......
Case Else: zz.Interior.ColorIndex = xlNone
End Select
End Sub

AV [aaa]
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
240
Réponses
5
Affichages
666
W
Réponses
4
Affichages
317
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…