Bonne année 2009 à tout les Excelldowloads
J’ai trouvé sur le site un fil de discussion par rapport à ce sujet. Le fichier de JB BOIGONTIER est très intéressant car il garde tout l’historique apporté à une cellule mais seulement sur une seule colonne (colonne = 3). Ce que j’aurai aimé c’est pouvoir travailler sur une plage de cellules par exemple de (A1 : P2000) mais je ne vois pas comment écrire cela en VBA ?
Je joins le code et le fichier.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 3 Then ' colonne 3 seulement
On Error Resume Next ' active la gestion d'erreur
Err = 0
temp = Target.Comment.Text ' Commentaire existe t-il?
If Err <> 0 Then Target.AddComment ' Création commentaire
Target.Comment.Text Text:=Target.Comment.Text & _
Target.Value & " Modifié par:" & NomUtil() & _
" Le " & Now & vbLf
Target.Comment.Visible = True
Target.Comment.Shape.Select
Selection.AutoSize = True
Target.Comment.Visible = False
On Error GoTo 0 ' désactive la gestion d'erreurs
End If
Application.EnableEvents = True
End Sub
Jacksud
J’ai trouvé sur le site un fil de discussion par rapport à ce sujet. Le fichier de JB BOIGONTIER est très intéressant car il garde tout l’historique apporté à une cellule mais seulement sur une seule colonne (colonne = 3). Ce que j’aurai aimé c’est pouvoir travailler sur une plage de cellules par exemple de (A1 : P2000) mais je ne vois pas comment écrire cela en VBA ?
Je joins le code et le fichier.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 3 Then ' colonne 3 seulement
On Error Resume Next ' active la gestion d'erreur
Err = 0
temp = Target.Comment.Text ' Commentaire existe t-il?
If Err <> 0 Then Target.AddComment ' Création commentaire
Target.Comment.Text Text:=Target.Comment.Text & _
Target.Value & " Modifié par:" & NomUtil() & _
" Le " & Now & vbLf
Target.Comment.Visible = True
Target.Comment.Shape.Select
Selection.AutoSize = True
Target.Comment.Visible = False
On Error GoTo 0 ' désactive la gestion d'erreurs
End If
Application.EnableEvents = True
End Sub
Jacksud