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

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
 

Lone-wolf

XLDnaute Barbatruc
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
 

un internaute

XLDnaute Impliqué
Bonjour Lone-wolf,
Un fichier pour mieux comprendre
Au départ tout est en en jaune et Non (colonne E)
Double clic sur E4 tout le texte des colonnes de A à D doit être Barré et l'icone doit passer sur Oui et d'une autre couleur.
Bien cordialement
 

Pièces jointes

  • CARTES_MACRO.xls
    41.5 KB · Affichages: 33

un internaute

XLDnaute Impliqué
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

  • CARTES_MACRO.xls
    49 KB · Affichages: 23

Lone-wolf

XLDnaute Barbatruc
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
 

un internaute

XLDnaute Impliqué
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:

Lone-wolf

XLDnaute Barbatruc
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:

un internaute

XLDnaute Impliqué
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…