Double clic sur cellule pour changer de couleur de fond

Bonjour à tous,

J'ai besoin de vos services pour me simplifier la vie, je ne maitrise pas très bien VBA.

Je souhaiterais faire une petite macro, pour que, lorsque je clique sur une cellule (ligne impaire et contenu non vide uniquement) celle-ci prenne un fond bleu. Si je redouble clique sur la cellule, elle doit repasser en blanc etc.

Je pensais avoir réussi dans l'exemple ci-joint mais quelque chose ne va pas. Dans mon programme, il ne peut pas y avoir 2 même lignes en bleu...

Merci d'avance pour vos réponses.

144exemple.xlsm (13.60 Ko)

Bonjour,

Pas bien claire ta demande.

Dans mon programme, il ne peut pas y avoir 2 même lignes en bleu...

Justement si.

Tu définis une plage de 2 cellules, Range(Cells(Target.Row, 1), Cells(Target.Row + 1, 1)), et celles-ci passent bien en bleu...

Si tu n'en veux qu'une met : Target.

Et ajoute dans ton test Cancel=True pour éviter de passer en édition

eric

edit:

C'est ça que tu veux ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column <= 2 And Target.Row Mod 2 <> 0 And Target.Value <> "" Then     'Si valeur de la cible du double clic fait
        Cancel = True
        If Target.Interior.Color = RGB(255, 255, 255) Then
            Target.Interior.Color = RGB(96, 192, 255)
        Else
            Target.Interior.Color = RGB(255, 255, 255)
        End If
    End If
End Sub

Bonjour,

Mon humble contribution :

Je souhaiterais faire une petite macro, pour que, lorsque je clique sur une cellule (ligne impaire et contenu non vide uniquement) celle-ci prenne un fond bleu. Si je redouble clique sur la cellule, elle doit repasser en blanc etc.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim condition As Boolean
    If Not Application.Intersect(Target, Range("A:B")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        Cancel = True
        condition = (Not Target.Row Mod 2 = 0) And Not IsEmpty(Target)
        Select Case condition
            Case True
                If Target.Interior.Color = RGB(96, 192, 255) Then
                    Target.Interior.Color = xlNone
                Else
                    Target.Interior.Color = RGB(96, 192, 255)
                End If
            Case Else
                '
        End Select
    End If
End Sub

Parfait merci à vous deux! Les 2 codes fonctionnent comme je le souhaite.

a+

Rechercher des sujets similaires à "double clic changer couleur fond"