mise en forme cellule après clic droit

  • Initiateur de la discussion Initiateur de la discussion gourdin
  • Date de début Date de début

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 !

gourdin

XLDnaute Impliqué
Bonjour,

Je souhaite par clic "droit" sur n'importe laquelle des cellules avec la valeur "A" se colorie en jaune toutes les cellules ayant la valeur "A"

(idem pour valeur "B" "C" etc.)

Voir fichier joint

En cliquant droit à nouveau sur cellule "A" (ou "B" ou "C" etc.) les couleurs reviennent comme avant le clic droit

Merci
 

Pièces jointes

Re : mise en forme cellule après clic droit

Salut gourdin, le Forum

Pas réussi à faire avec Seulement le Click droit

DoubleClick= Coloration
Click Droit = Décoloration

Code:
Option Explicit
Dim C As Range
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
For Each C In Range("B10:F27")
    If Target = "" Then Exit For
    If C = Target Then C.Interior.ColorIndex = 6
Next C

End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
For Each C In Range("B10:F27")
      If C = Target Then C.Interior.ColorIndex = xlNone
Next C
End Sub
A tester

Bonne Journée
 

Pièces jointes

Re : mise en forme cellule après clic droit

bonjour à tous,

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim c
Cancel = True
For Each c In Range("B10:F27")
If c = Target Then c.Interior.ColorIndex = IIf(c.Interior.ColorIndex = 6, xlNone, 6)
Next c
End Sub

fonctionne sans prob, uniquement avec click droit (Merci à Dull pour son code de départ)
 
Re : mise en forme cellule après clic droit

bjr,

curieux, chez moi cela fonctionne
il faut mettre le code dans le code de la feuille en question, pas dans un module
1. copier mon code (ci-dessus)
2. sur l'onglet de la feuille en question dans excel, faire un click droit / visualiser le code / click droit coller

ce code ne fonctionnera que sur les cellules B10 : F27 (à toi d'adapter)
 
Re : mise en forme cellule après clic droit

Bon jour,

si tu veux te restreindre à la plage désignée, essaie le code suivant.
Comme tu ne précises pas si tu veux traiter les cas de façon isolée ou globale, j'ai mis les 2 options.
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  If Target.Count > 1 Then Exit Sub
  Set Plage = Union(Range("B10:B23"), Range("D10:D26"), Range("F10:F26"))
  If Intersect(Target, Plage) Is Nothing Then Exit Sub
  For Each VC In Plage
    VF = VC.Interior.ColorIndex
    [COLOR="Blue"][B]'pour 1 cas, prendre[/B][/COLOR]
    'VC.Interior.ColorIndex = IIf(VC = Target, IIf(VF = 6, 0, 6), xlNone)
    [COLOR="Red"][B]'pour plusieurs cas, prendre[/B][/COLOR]
    'If VC = Target Then VC.Interior.ColorIndex = IIf(VF = 6, 0, 6)
  Next
  Cancel = 1
  [A1].Select
End Sub

Remarques : j'ai laissé le cas des cases vides; il n'est pas sûr que ce soit le bon évènement (tu te prives du menu droit dans la plage).
 

Pièces jointes

- 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
4
Affichages
311
Retour