XL 2016 Afficher date de modification et suppression au bout d'1 semaine

Ciol

XLDnaute Nouveau
Bonjour à tous,
Toujours dans le soucis de faire un tableau Excel pour les notes de travail de mes élèves, je souhaiterais faire la chose suivante.
A chaque fois qu'un de mes élèves fait une bêtise, je clique sur la cellule associée qui me propose un menu déroulant et je sélectionne la bêtise en question, ce qui retire automatiquement des points aux élèves.
Cependant, au bout d'une semaine, s'ils n'ont pas eu de points en moins entre temps, le deal prévoit qu'ils récupèrent les derniers points perdus. Mais attention, ils ne peuvent pas récupérer tous leurs points ainsi (Juste les derniers, sinon, c'est trop simple).
Aussi, j'aimerais pouvoir savoir ce qu'ils ont fait à quel moment.
Ainsi, ce que j'ai en tête, c'est que pour toutes les cellules visibles hormis les noms et les notes des élèves (Les cellules bleues, orange et grises visibles dans l'image ci-dessous), à chaque modification, un commentaire apparaisse, avec la date et l'heure de la modification et le contenu de la modification.
PxAB3Bi.png

Pour cela, quelqu'un m'avait proposé la macro suivante :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If Mid(.Address(1, 1, xlR1C1), 2, InStr(.Address(1, 1, xlR1C1), "C") - 2) > 35 Then Exit Sub
If Right(.Address(1, 1, xlR1C1), Len(.Address(1, 1, xlR1C1)) - InStr(.Address(1, 1, xlR1C1), "C")) < 7 Then Exit Sub
If Right(.Address(1, 1, xlR1C1), Len(.Address(1, 1, xlR1C1)) - InStr(.Address(1, 1, xlR1C1), "C")) > 163 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
Dim strNewText$, strCommentOld$, strCommentNew$
strNewText = .Text
If Not .Comment Is Nothing Then
strCommentOld = .Comment.Text & Chr(10) & Chr(10)
Else
strCommentOld = ""
End If
On Error Resume Next
.Comment.Delete
Err.Clear
.AddComment
.Comment.Visible = False
.Comment.Text Text:=strCommentOld & _
Format(VBA.Now, "DD/MM/YYYY à hh:MM ") & Chr(10) & strNewText
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub
Mais en plus de ça, j'aimerais que chaque cellule bleue ou orange (Pas les grises, bref, comme dans l'image ci-dessous) s'efface au bout d'une semaine si la cellule de droite ne contient pas de commentaire.
3z42zvB.png

En gros, ça donnerait la chose suivante : Si la cellule de droite ne contient pas de commentaire, alors au bout d'une semaine, la cellule est effacée.
Or, j'ai l'impression que pour ce faire, il faudrait à nouveau utiliser une macro, cependant, je ne m'y connais pas assez en macros pour faire ce que je voudrais, ni pour en faire fonctionner deux à la fois.
Merci d'avance pour l'aide que vous pouvez m'apporter.
 

Pièces jointes

  • Filet Test.xlsm
    87.9 KB · Affichages: 26

Discussions similaires

Statistiques des forums

Discussions
312 106
Messages
2 085 352
Membres
102 871
dernier inscrit
Maïmanko