Colorer les cases par double clic (couleurs différentes à chaque progrès + date jour)

  • Initiateur de la discussion Initiateur de la discussion anthoYS
  • 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 !

anthoYS

XLDnaute Barbatruc
Bonjour,


voilà mon problème : un fichier avec pour souhait le progrès dans certains domaines de ma vie, effort à effectuer). Et par double clic on affiche la date du jour en commentaire mais on colore la case concernée par le double clic. Cela doit être valide pour la colonne entièrement. Et la date doit rester à chaque fois.


Mon code n'est pas valable pour ce fichier, il colore que 3 cases et pas l'orange. Il concerne C, D, E, F et G. Les couleurs en F et G doivent être supprimer et on doit rajouter une colonne (orange à intercaler). Donc de C à F.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Dim dt As String
Dim lig
Dim col
col = Target.Column
lig = Target.Row
dt = Date
With Target
    If .Column > 2 And .Column < 8 Then
        Cancel = True
        If .Comment Is Nothing Then .AddComment
            .Comment.Shape.TextFrame.AutoSize = True
            .Comment.Text Text:=dt
    End If
End With

If col = 3 And Cells(lig, 2) = "" Then
Cells(lig, 3).Interior.ColorIndex = 3
Cells(lig, 9) = Date
Cells(lig, 10) = Time
Exit Sub
End If
If col = 3 And Cells(lig, 1) = "" Then
    Cells(lig, 2).Select
    Selection.Cut Destination:=Cells(lig, 1)
Cells(lig, 3).Interior.ColorIndex = 3
Cells(lig, 9) = Date
Cells(lig, 10) = Time
Exit Sub
End If
  If Target.Column >= 3 And Target.Column <= 5 Then
    If Target.Interior.ColorIndex = xlNone Then
      Range(Cells(Target.Row, 3), Cells(Target.Row, 5)).Interior.ColorIndex = xlNone
      Target.Interior.Color = Cells(2, Target.Column).Interior.Color
    Else
      Range(Cells(Target.Row, 3), Cells(Target.Row, 5)).Interior.ColorIndex = xlNone
    End If
  End If
   If Target.Column >= 6 And Target.Column <= 7 Then
    If Target.Interior.ColorIndex = xlNone Then
      Range(Cells(Target.Row, 6), Cells(Target.Row, 7)).Interior.ColorIndex = xlNone
      Target.Interior.Color = Cells(2, Target.Column).Interior.Color
    Else
      Range(Cells(Target.Row, 6), Cells(Target.Row, 7)).Interior.ColorIndex = xlNone
    End If
  End If
  End Sub

Merci beaucoup.
 

Pièces jointes

Re : Colorer les cases par double clic (couleurs différentes à chaque progrès + date

Bonjour, par contre ça ne correspond pas.
la couleur doit disparaître si on double clique à côté.

  • double clic en A2, colore A2 en vert,
  • si je clique en B5, colore B5 en jaune,
  • si je clique en C5, enlève la couleur jaune de B5 et colore C5 en orange.
  • par exemple je clique en D7, colore D7 en rouge.
etc.

donc la date doit apparaître en commentaire à chaque fois et y rester après double clic.

rien ne doit apparaître en I ou J.


Merci
 
Re : Colorer les cases par double clic (couleurs différentes à chaque progrès + date

c'est bien ce que je pensais, j'avais pas compris ....

moi, je double clic en Cn
fond rouge et la date s'inscrit en commentaire et en I et l'heure en J
double clic Dn
fond orange et supprime fond rouge
double clic En
fond jaune et supprime fond orange

etc ....

bref a côté
 
Re : Colorer les cases par double clic (couleurs différentes à chaque progrès + date

oui c'est mieux...

merci !

ps : par contre la coloration ne doit pas rester si on double clique dans une cellule voisine (même ligne). Une couleur doit remplacer l'autre. Ici ce n'est pas le cas pour tout double clic.
 
Re : Colorer les cases par double clic (couleurs différentes à chaque progrès + date

en double clic de gauche à droite (colonne par colonne), cà fonctionne aussi chez toi ???
mais il faut en fait ne garder qu'une seule cellule colorée par ligne (qu'elle que soit la colonne double cliquée)
un double clic sur une cellule colorée enlève sa couleur

j'ai enfin bon ?
 
Re : Colorer les cases par double clic (couleurs différentes à chaque progrès + date

Bonjour,

Un essai

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Columns("A:D"), Target) Is Nothing Or Target.Row = 1 Then Exit Sub
Cancel = True
With Cells(Target.Row, 1).Resize(1, 4)
    .ClearComments
    .Interior.Color = xlNone
End With
With Target
    Select Case .Column
        Case 1
            .Interior.ColorIndex = 4
        Case 2
            .Interior.ColorIndex = 6
        Case 3
            .Interior.ColorIndex = 44
        Case 4
            .Interior.ColorIndex = 3
    End Select
    .AddComment
    .Comment.Text Text:=CStr(Date)
    .Comment.Shape.TextFrame.AutoSize = True
End With
End Sub

PS : je supprime également les anciens commentaires...

Bonne journée
 
- 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
243
Réponses
4
Affichages
548
Réponses
16
Affichages
1 K
Réponses
3
Affichages
508
Réponses
2
Affichages
404
Retour