Comment incrémenter des cellules colorées activées par clic

Bonjour,

En premier lieu je ne pourrais pas fournir le fichier Excel qui est confidentiel, un exemple éventuellement si vous en avez besoin.

Donc j'ai un tableau dans lequel j'ai créé une macro pour qu'à chaque double clic sur une cellule, celle-ci devienne verte (le code RGB est : (127, 221, 76), un autre double clic sur la cellule l'a rend blanche. Mon objectif est de créer une colonne permettant d'incrémenter les cellules vertes (donc lorsque l'on double clic dessus).

J'ai cherché un peu à droit à gauche et j'ai trouvé plusieurs solutions :

Dans un document il y avait ce code macro :

Public Function NbCelluleColorees(Plage As Range) As Integer

Dim cc As Range

Application.Volatile True

NbCelluleColorees = 0

For Each cc In Plage

If cc.Interior.ColorIndex = 4 Then

NbCelluleColorees = NbCelluleColorees + 1

End If

Next cc

End Function

Avec une fonction NbCelluleColorees(la ligne de cellule d'intérêt) dans chaque cellule de la colonne d'incrémentation.

Cette macro me semble hyper pratique mais marque 0 dans toutes les cellules de la colonne même après double clic, il faut surement l'insérer quelque part mais je ne sais pas où! Peut être faut-il changer le code couleur qui ici est le 4 si j'ai compris, alors que moi j'ai un code RGB.

Autre solution:

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

If Application.Intersect(Target, ActiveSheet.Range("E2:J6")) Is Nothing Then Exit Sub 'plage à adapter

If Target.Interior.ColorIndex <> xlNone Then 'si la cellule est colorée

Target.Interior.ColorIndex = xlNone 'aucun remplissage, police blanche + valeur= 0

Target.Value = 0

Target.Font.ColorIndex = 2

Cancel = True

Exit Sub

ElseIf Cells(Target.Row, 2).Value = "Etude" Then 'si, dans la même ligne, la colonne 2 renseigne "Etude"

Target.Interior.Color = 14922893 'couleur de remplissage et de police bleue + valeur=1

Target.Font.Color = 14922893

Target.Value = 1

ElseIf Cells(Target.Row, 2).Value = "Réalisation" Then

Target.Interior.Color = 3487637

Target.Font.Color = 3487637

Target.Value = 1

End If

Cancel = True

End Sub

Ce document prenait en compte le double clic mais il a d'autres conditions s'il y a le mode étude marqué etc, seule la couleur de la cellule m'intéresse et il y a encore un autre code couleur.

J'aimerais donc solliciter votre aide pour m'aider à changer l'un de ces deux codes macros : objectif : je clic sur une cellule blanche, elle devient verte, incrémentation dans la colonne (si possible je préférerais garder la première macro).

Merci d'avance.

Rebonjour,

J'ai trouvé le moyen c'est tout bête, en fait vous prenez la première macro, vous insérez votre fonction NbCellulescolorees(La ligne ou la plage d'intérêt) dans le tableau, dans la macro, vous changez le code index (= 4 c'est le vert de base). Je suis allé chercher un tableau de conversion RGB en colorindex, ne trouvant pas mon vert anis en colorindex, je l'ai changé en colorindex 43 (vert olive) apparemment avec ce code le vert anis était aussi incrémenté mais j'ai tout changé en vert olive pour être sûr. Voilà voilà

Je mets à disposition le code macro pour changer la couleur d'une cellule par double clic

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

Dim couleurs()

If Not Application.Intersect(Target, [plage de donnée d'intérêt] : ex : [A2:B2]) Is Nothing Then

couleurs = Array(RGB(153, 204, 0), RGB(255, 255, 255)) (ici vos code couleur en RGB le 255x3 c'est le blanc, vous pouvez en rajouter d'autres)

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

Bonne soirée !!

Bonjour,

Un double-clic à tester

Amicalement

Pierrot

Rechercher des sujets similaires à "comment incrementer colorees activees clic"