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

[RÉSOLU] Différencier par une couleur le Oui et le Non

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 !

un internaute

XLDnaute Impliqué
Bonjour le forum,
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Column = 5 And Target.Row >= 4 And Target.Row <= 19 Then
        With Target.Offset(0, -4).Resize(1, 4).Font
            .Strikethrough = Not (.Strikethrough)
            Target = IIf(.Strikethrough, "Oui", "Non")
        End With
    Range("A1").Select
    End If
    Application.EnableEvents = True
End Sub

Il y a peu vous m'avez aidé à faire mettre Oui et Non par macro.
Ça fonctionne super bien et c'est très pratique.
Une idée est venue à l'esprit d'un pote: Comment différencier le Oui et le Non par 2 couleurs.
Actuellement c'est une couleur unique le jaune code 36
Moi je ne sais pas faire.
Quelqu'un aurait-il une astuce?
Merci d'avance pour vos éventuels retours.
Bien cordialement
 
Bonsoir le forum,
Voilà ce que je voulais faire:
A mettre dans ThisWorkbook

Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Indice As Integer, NbColonne As Integer
Dim Tb, TbCoul, X, TbFont, Label As String

  Select Case UCase(Sh.Name)
    Case "TOTO", "TOTO1", "TOTO2", "TOTO3", "TOTO4"
      NbColonne = 4
    Case "TOTO5", "TOTO6"
      NbColonne = 3
  End Select

  If Target.Column = NbColonne + 1 And Target.Row >= 3 And Range("A" & Target.Row) <> "" Then
    Application.EnableEvents = False
    TbFont = Array(5, 3, 5)
    TbCoul = Array(36, 35, 36)
    Tb = Array("", "OUI", "NON")
    Cancel = True
    
    X = UCase(Trim(Target))
    If UBound(Filter(Tb, X, compare:=vbTextCompare)) >= 0 Then
      Indice = Application.Match(X, Tb, 0) Mod (1 + UBound(Tb))
      Label = Tb(Indice)
      With Target
        .Value = Label
        .Interior.ColorIndex = TbCoul(Indice)
        .Font.ColorIndex = TbFont(Indice)
      End With
      With ActiveCell.Offset(0, -NbColonne).Resize(1, NbColonne)
        If Label = "OUI" Then
          .Font.Strikethrough = True
        Else
          .Font.Strikethrough = False
        End If
      End With
    End If
  
    Application.EnableEvents = True
  End If
End Sub
 
- 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
9
Affichages
404
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
707
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…