Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Clic droit donne nombre de cellule

  • 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,

Le code suivant (merci le forum) colorie en jaune les cellules dont la valeur est la valeur de la cellule sur laquelle on a fait un clic droit (cf. fichier joint)

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

Je souhaiterais également (avec le même clic droit) avoir le nombre de cellules coloriées en jaune (= nombre de cellules dont la valeur est la même que la cellule sur laquelle on fait un clic droit).

Voir exemple joint

Merci
 

Pièces jointes

Re : Clic droit donne nombre de cellule

Bonjour gourdin,

Avec :

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)
If c.Interior.ColorIndex = 6 Then i = i + 1
Next c
Range("a1") = i
End Sub

Bonne journée.

Jean-Pierre
 
Re : Clic droit donne nombre de cellule

Bonjour Gourdin,
Dans la boucle que tu nous mets, c correspond à la cellule comparée
D'ou
c = valeur de la cellule
c.row = N° de la ligne
c.column = N° de la colonne
c.Interior.ColorIndex = Index de la couleur

Donc, avec ça tu devrais pouvoir en déduire le bon code
Bonne journée
 
Re : Clic droit donne nombre de cellule

Bonjour
Bise à Jean Pierre

Dans ton code il y a un souci car cela met du jaune même si on clique en dehors de la zone prédéfinie.

J'ai donc modifié.

Le compteur se remet à 0 si on fait le 2ème clic qui enlève la couleur.
 

Pièces jointes

Re : Clic droit donne nombre de cellule

Bonjour à tous

Je propose ceci :
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
Set maplage = Range("B10:F27")
If Intersect(maplage, Target) Is Nothing Then Exit Sub
Cancel = True
If Target = "" Then Exit Sub
If maval <> "" And maval <> Target Then Range("B10:F27").Interior.ColorIndex = xlNone
For Each c In maplage
    If c = Target Then c.Interior.ColorIndex = IIf(c.Interior.ColorIndex = 6, xlNone, 6): i = i + 1: Range("F30") = i
Next c
maval = Target
If Target.Interior.ColorIndex = xlNone Then Range("F30").ClearContents
End Sub
avec une déclaration de "maval" en Public en tête d'un module.
Cette solution gère Range("F30"), efface l'ancienne sélection, les cellules vides dans la plage et le menu à l'extérieur de la plage

mais attendons que gourdin nous dise

Eric
 
Re : Clic droit donne nombre de cellule

Pour répondre à Eric 45,

La solution de Chris correspond le mieux à mon projet mais je conserve les autres solutions car elles sont susceptibles de m'interresser pour d'autres projets.

Encore merci
 
- 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
223
Réponses
4
Affichages
243
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…