[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
 
Bonjour un internaute 🙂

Pour commencer il faut supprimer les Application.EnableEvents. Ceux-ci valent pour l'évenement Change de la feuille et non SelectionChange.
Si c'est le texte que tu veux mettre en couleur.

With Target
If .Value = "Oui" then
.Font.Color = vbGreen
Else
.Font.Color = vbRed
End If
End With
 
Bonjour Lone-wolf
J'ai modifié la macro des coleurs pour plus de "souplesse"
Ce que je voudrais c'est lorsqu'il n'y a pas de texte ligne A7 à E7 par exemple, lorsque je Doubleclique pour mettre Oui ou Non c'est retourner à ma couleur d'origine c'est à dire le Jaune. Sinon je suis obligé de faire Suppr pour effacer Oui ou Non.
C'est possible mais comment?
Merci pour tes éventuels retours.
Bien cordialement
 

Pièces jointes

Bonjour un internaute,

C'est ce que fait la macro, si tu as bien regardé.

VB:
With ActiveCell
            If .Offset(0, -3) <> "" And .Offset(0, -4).Font.Strikethrough = True Then
                .Interior.Color = vbGreen
                .Font.Color = vbWhite
            Else
                .Interior.Color = vbYellow
                .Font.Color = vbBlue
            End If
End With
 
Re,
Tu as regardé mon dernier fichier modifié?
Peut-être que je me suis mal exprimé (je suis un spécialiste)
Lorsque je Double click ça donne Oui Non mais ça ne retourne pas à ma cellule vierge de colueur jaune (36)
A+
 
Dernière édition:
Re

Mais la cellule doit être en jaune que si les autres sont vides non? Et si c'est sur Non il faut mettre 6 au lieu de 36. Oubien comme ceci alors?? 🙄

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("e4:e19")) Is Nothing Then


        With ActiveCell.Offset(0, -4).Resize(1, 4)
            .Font.Strikethrough = Not .Font.Strikethrough
            ActiveCell = IIf(ActiveCell.Offset(0, -4).Font.Strikethrough, "Oui", "Non")
        End With

        With ActiveCell
            If .Offset(0, -4).Font.Strikethrough = True Then
                .Interior.ColorIndex = 35
                .Font.ColorIndex = 3
            Else
                .Interior.ColorIndex = 36
                .Font.ColorIndex = 5
            End If
        End With

        If Target.Offset(0, -1) = vbNullString Then
            Target.Offset(0, 0).Interior.Color = vbYellow
            Target.Offset(0, 0).ClearContents
        End If
    End If
    Cancel = True
End Sub
 
Dernière édition:
Ré.
Je répond de mon portable alors...
1er clic Oui ou Non tout dépend si tout est Oui ou Non.
Si tout est Non par exemple.
1er Double clic Oui
2 ème Double clic Non
3 ème Double clic cellule jaune avec RIEN dedans. (vierge)
4 ème Double clic retour au Oui
5 ème Double clic retour au Non
6 ème Double clic cellule jaune vierge.
J'ai essayé de mon portable.
Ça ne vaut pas l'ordinateur!!!
A+
Cordialement
 
- 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
Retour