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

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

  • Curseurs.xlsm
    14.9 KB · Affichages: 57
  • Curseurs.xlsm
    14.9 KB · Affichages: 62
  • Curseurs.xlsm
    14.9 KB · Affichages: 58

anthoYS

XLDnaute Barbatruc
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
 

st007

XLDnaute Barbatruc
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é
 

st007

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

Plutôt adapté comme cà alors...
 

Pièces jointes

  • Curseurs.xlsm
    15.3 KB · Affichages: 54
  • Curseurs.xlsm
    15.3 KB · Affichages: 61
  • Curseurs.xlsm
    15.3 KB · Affichages: 58

anthoYS

XLDnaute Barbatruc
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.
 

st007

XLDnaute Barbatruc
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 ?
 

Cousinhub

XLDnaute Barbatruc
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
 

st007

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

Ce sera ma dernière adaptation, vu le code ci-dessus

l'adaptation est barbare, fonctionnelle et conserve les commentaires
 

Pièces jointes

  • Curseurs.xlsm
    15.9 KB · Affichages: 59
  • Curseurs.xlsm
    15.9 KB · Affichages: 72
  • Curseurs.xlsm
    15.9 KB · Affichages: 62

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 202
Membres
103 157
dernier inscrit
youma