Soustraire une cellule de couleur

Bonjour

j'essaye de faire diminuer la cellule AB36

exemple si je fait un clic droit sur la cellule J16 elle passe en bleu et je voudrai que le résultat de la cellule AB36 soustrait le nombre de la cellule J16

merci d'avance pour vos réponse je joins un fichier exemple

Cordialement

6test.xlsm (34.45 Ko)

Bonjour,

Un essai ...

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
   Cancel = True

   If Not Intersect(Range("J7:J28, U7:U28"), Target) Is Nothing Then
      If Not Intersect(Range("J16:J17"), Target) Is Nothing Then
         If Target.Cells.Count = 2 And Target.Interior.color <> 15917529 Then      ' si déjà bleu, ne rien faire
            Range("AB36").Value = Range("AB36").Value - Range("J16").Value
         End If
      End If
      If Target.Cells.Count = 2 Then
         Target.Interior.color = 15917529      ' RGB(189, 215, 238) < ceci est la couleur du bleu pâle
      End If
   End If
End Sub

ric

Bonjour

Merci pour votre réponse rapide

le code marche parfaitement et si je remet la cellule en jaune peut on ajouter la valeur

et l'appliquer sur plage de cellule "J7:J28, U7:U28"

encore merci pour votre aide

Cordialement

Bonjour,

Si je comprends bien :

  • clique droit > les cellules sélectionnées passent en bleu et soustraction en AB36
  • 2e clique droit > les cellules sélectionnées passent en jaune et addition en AB36

Est-ce bien cela ?

ric

bonjour,

encore merci pour votre patience

clic droit passe la cellule en bleu

double clic gauche passe la cellule en jaune

2Eme double clic gauche passe la cellule en orange

si je refait un double clic gauche la cellule repasse en jaune

cela me permet de faire des calculs par rapport a la couleur des cellules

Cordialement

bonjour

j'ai rajouter vos ligne au double clic gauche

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim couleurs()
If Not Intersect(Range("J7:J28, U7:U28"), Range(Target.Address)) Is Nothing Then
couleurs = Array(65535, 6740479)

 If Target.Cells.Count = 2 And Target.Interior.color <> 65535 Then      ' si déjà jaune, ne rien faire
            Range("AB36").Value = Range("AB36").Value + Range("J16").Value
         End If

On Error GoTo color
Target.Interior.color = couleurs(Application.WorksheetFunction.Match(Target.Interior.color, couleurs, 0) Mod 3)
Cancel = True
Exit Sub
color:
Target.Interior.color = couleurs(0)
Cancel = True
End If
End Sub

maintenant je voudrais rajouter la formule sur les cellule de J7 a J 28 et U7 a U28 donc si je fais un clic droit sur une des cellules par ex.J7 ou J8 la somme se soustrait de AB36 et si je fais un double clic gauche sur des cellules par ex. U9 ou U28 la somme se rajoute a AB36

Cordialement

Bonjour,

Il restera à ajouter les opérations mathématiques aux bons endroits.

Un essai ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Cancel = True

   If Not Intersect(Range("J7:J28, U7:U28"), Target) Is Nothing Then
      If Target.Cells.Count = 2 Then
         If Target.Interior.color = 65535 Then
            Target.Interior.color = 6740479
         Else
            Target.Interior.color = 65535
         End If
      End If
   End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
   Cancel = True

   If Not Intersect(Range("J7:J28, U7:U28"), Target) Is Nothing Then
      If Target.Cells.Count = 2 Then
         If Target.Interior.color <> 15917529 Then      ' si déjà bleu, ne rien faire
            Target.Interior.color = 15917529      ' RGB(189, 215, 238) < ceci est la couleur du bleu pâle vbYellow
         End If
      End If
   End If
End Sub

ric

Bonjour,

si je fais un double clic gauche sur des cellules par ex. U9 ou U28 la somme se rajoute a AB36

Quelle que soit la couleur ? Jaune ou orange = 2 additions ??

Ou bien : on passe en bleu > on soustrait

on passe en jaune ou orange > on additionne

ric

bonjour

en bleu > on soustrait

en jaune > on additionne

en orange > rien

excuse moi pour mes mauvaises explications

Cordialement

Bonjour,

Résumons :

("J7:J28") > clique droit, la cellule passe au bleu et elle est soustrait de AB36

("U7:U28") > double-clique droit, la cellule passe au jaune et au orange en alternance > si jaune, elle est additionnée à AB36 (qu'arrivera-t-il si je double-clique à nouveau et que la cellule passe au jaune une 2e fois ?)

ric

Bonjour

("J7:J28"et U7:U28") > clique droit, la cellule passe au bleu et elle est soustrait de AB36

("J7:J28"et U7:U28") > double clique gauche, la cellule passe au jaune et elle s'additionne a AB36

("J7:J28"et U7:U28") > double clique gauche, la cellule passe au orange aucune action

encore merci de prendre de ton temps pour m'aider

Cordialement

Bonjour,

Un essai ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Cancel = True

   If Not Intersect(Range("J7:J28, U7:U28"), Target) Is Nothing Then
      If Target.Cells.Count = 2 Then
         If Target.Interior.color = 65535 Then
            Target.Interior.color = 6740479      ' orange
         Else
            If Target.Interior.color = 6740479 Then
               Target.Interior.color = 65535      ' jaune
               Exit Sub
            Else
               If Target.Interior.color = 15917529 Then
                  Target.Interior.color = 65535      ' jaune
                  Range("AB36") = Range("AB36").Value + Target.Cells(1, 1).Value
               End If
            End If
         End If
      End If
   End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
   Cancel = True

   If Not Intersect(Range("J7:J28, U7:U28"), Target) Is Nothing Then
      If Target.Cells.Count = 2 Then
         If Target.Interior.color <> 15917529 Then      ' si déjà bleu, ne rien faire
            Target.Interior.color = 15917529      ' RGB(189, 215, 238) < ceci est la couleur du bleu pâle vbYellow
            Range("AB36") = Range("AB36").Value - Target.Cells(1, 1).Value
         End If
      End If
   End If
End Sub

ric

Bonjour,

Je viens de modifier mon message précédent.

ric

Bonjour

le code fonctionne parfaitement et quand la cellule passe en orange ne s'additionne pas donc parfait

encore merci pour ton aide

Vous êtes vraiment fantastique sur ce forum

Cordialement

ric

Rechercher des sujets similaires à "soustraire couleur"