insertion commentaire automatique

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 !

titooooo

XLDnaute Occasionnel
bonjour ,

je viens vers vous encore une fois afin de trouver une solution à ce problème

j'ai un fichier qui es partagé entre plusieurs , je veut que excel inséré automatiquement un commentaire ans chaque cellule qu'un utilisateur aurait saisie ou changé.

exemple

Albert a saisie des valeur dans les cellule n1 n5 et m18 et sauve le travail et ferme le fichier

je veut que lorsque j'ouvre ce fichier excel me montre un commentaire avec le nom de Albert ( le nom 'utilisateur dans excel à dans n1 n5 et m18

es ce possible svp

d'avance merci
 
Re : insertion commentaire automatique

bonjour

encore une question stp

quel es le code pour avoir aussi la date

.

et comment faire pour mettre ce code avec un autre en meme temps

voici le 1ére que j'ai déja

Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In Worksheets
With ws
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="123456", UserInterfaceOnly:=True
End With
Next ws
End Sub


d'avance merci
 
Re : insertion commentaire automatique

Bonjour,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  If Not Intersect(Range("N1:N5,M18"), Target) Is Nothing And Target.Count = 1 Then     
    If Target.Comment Is Nothing Then Target.AddComment        ' Création commentaire
    Target.Comment.Text Text:=Target.Comment.Text & Target.Value & " Modifié par:" & Environ("UserName") & _
         " Le " & Now & vbLf
    Target.Comment.Shape.TextFrame.AutoSize = True
  End If
  Application.EnableEvents = True
End Sub

http://boisgontierjacques.free.fr/fichiers/Evenementiel/HistoriqueModif.xls
http://boisgontierjacques.free.fr/fichiers/Cellules/EspionCelluleModifiees.xls

JB
 

Pièces jointes

Dernière édition:
Re : insertion commentaire automatique

Voila une autre solution plus discrète avec création d'un fichier texte log
en attendant de créer une autre feuille masquée au lieu du fichier texte
ci-joint

remarque: si tu as une large plage et beaucoup de changement ça t’ennuie de trouver quelle cellule modifiée d'ou vient l'utilité d'un fichier log ou feuille log (en instance pour le moment).
 

Pièces jointes

Dernière édition:
Re : insertion commentaire automatique

Bonjour BOISGONTIER ,

un ptit souci avec le code vba ci desssous ,

ca marchait bien sauf que je veux le modifier je veut qu'il me récupére que les valeur de la page data et des cellule F9 AC560 et non pas de toute la page car j'ai qq menu déroulant et lorsque je les déroule j'ai erreur d'éxécusion 1004 la methode undo de l'objet application a échoué


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> "Espion" Then
Application.EnableEvents = False
valsaisie = Target
Application.Undo
temp = Application.CountA(Sheets("espion").Range("a:a")) + 1
Sheets("espion").Cells(temp, 1) = Sh.Name
Sheets("espion").Cells(temp, 2) = Target.Address
Sheets("espion").Cells(temp, 3) = Now
Sheets("espion").Cells(temp, 4) = Target
Sheets("espion").Cells(temp, 5) = valsaisie
Sheets("espion").Cells(temp, 6) = Environ("username")
Target = valsaisie
Application.EnableEvents = True
End If
End Sub




a tite de 'indication voila le code que j'ai dans la page data pour faire le tri

Private Sub Worksheet_Change(ByVal Target As Range)
Dim aux$
If Not Intersect(Range("M3:O3"), Target) Is Nothing Then
Application.ScreenUpdating = False
If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
With Range("J6:L2335")
If IsEmpty(Range("M3")) Then .AutoFilter Field:=1 Else _
.AutoFilter Field:=1, Criteria1:=Range("M3")
If IsEmpty(Range("N3")) Then .AutoFilter Field:=2 Else _
.AutoFilter Field:=2, Criteria1:=Range("N3")
If IsEmpty(Range("O3")) Then
.AutoFilter Field:=3
Else
aux = Format(Range("O3").Value2, "dd/mm/yyyy")
.AutoFilter Field:=3, Criteria1:=aux
End If
End With
Application.ScreenUpdating = True
Application.Goto Range("E1"), True
End If
End Sub



d'avance merci
 
- 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
3
Affichages
879
Réponses
17
Affichages
2 K
Retour