Double clic cellule couleur

bonjour,

j'ai commencé un code sur ma feuille qui à pour but de colorer par double clic des cellules de la colonne M.

J'ai besoin d'aide pour améliorer, car quand je double clic dans ma cellule de la colonne M la couleur viens bien mais ça va me sélectionner ensuite la cellule M1 alors que je voudrais que ca sélectionne la cellule suivante.

Ensuite je voudrais que lorsque je double clic sur une cellule blanche de la colonne M et que cette derniere devient rouge il faudrait que le montant (colonne R) se trouvant sur la même ligne que ma cellule coloré aille se reporter dans la colonne S.

comme j'ai mis en exemple dans mon tableau en police bleu

quel qu'un peut il m'aider?

bonne soirée

86test-couleur.xlsm (27.51 Ko)

Bonsoir,

Utilise donc les éléments que VBA met à ta disposition...

Pour l'affectation de la valeur de R en S, i faut simplement l'écrire :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 13 And Target.Row > 4 Then
        If Target.Interior.Color = 16777215 Then
            Target.Interior.Color = 255
            Target.Offset(, 6) = Target.Offset(, 5)
        Else
            Target.Interior.Color = 16777215
        End If
        Cancel = True
    End If
End Sub

Cela suppose que si tu ôtes la coloration, tu laisses l'affectation en S....

Ta façon d'arriver à faire en sorte que cool = "M" m'a laissée rêveur cool !

Ceci dit il n'y a aucun intérêt à déplacer le curseur pour faire des clic ou double-clic, il faut par contre mettre Cancel à True pour empêcher l'édition de la cellule.

(Si tu veux te déplacer à la ligne en-dessous, tu fais simplement : Target.Offset(1).Select)

NB- L'indentation permet de lire facilement le code, en distinguant immédiatement les différentes instructions imbriquées, en comprenant tout de suite ce qu'on lit... !

Cordialement.


Il serait aussi préférable de mettre pour décolorer :

Target.Interior.ColorIndex = xlColorIndexNone

pour éviter de colorer en blanc (tu peux le constater à la disparition du quadrillage là où tu as opéré).

Coucou et merci pour ton aide

ton code serait parfait pour moi si il pouvait prendre en compte le fait que si on décolore la cellule, le montant disparait.

est ce une modification difficile à apporter?

merci pour ton aide!

Le retour est aussi simple que l'aller. Rééedition :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 13 And Target.Row > 4 Then
        If Target.Interior.Color = 16777215 Then
            Target.Interior.Color = 255
            Target.Offset(, 6) = Target.Offset(, 5)
        Else
            Target.Interior.ColorIndex = xlColorIndexNone
            Target.Offset(, 6).ClearContents
        End If
        Cancel = True
    End If
End Sub

Eh bien merci pour ton aide et tes conseils précieux

je vais essayer de progresser dans ce sens

en tout cas ton code est exactement celui qui me fallait

encore merci

et bonne soirée!

Rechercher des sujets similaires à "double clic couleur"