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
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 SubCela 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
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 = xlColorIndexNonepour é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 SubEh 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!