Rajouter automatiquement information a commentaire existant

B

bleck

Guest
Bonjour a tous,
Didier m a creé une macro(encore merci au passage) qui permet lorsque je rentre une information dans une cellule que se crée automatiquement dans cette cellule un commentaire mentionant la date du jour.

Lorsque j'ai traite les donnees d'une cellule je la remplies en jaune. Serait il possible qu'automatiquement lorsque je remplies la cellule de couleur se rajoute au commentaire existant la date et heure du jour?

Merci d'avance
A+
 
M

michel

Guest
bonsoir Bleck

Je suis parti sur le principe ( peut etre à tort ) que les cellules à traiter contenaient déjà systematiquement un commentaire ...sinon il faudra que je revois ma copie ….

Si un changement de couleur est affecté à une cellule dans la plage B8:M24 , la date et l'heure sont ajoutés dans le commentaire existant.
Pour ajouter la macro , tu places les 2 variables Public tout en haut dans l'objet ThisWorkbook et tu colles la macro Workbook_SheetSelectionChange à la suite de la procedure de Didier .
N'hesite pas à revenir si tu as des soucis car je n'ai peut etre pas intégré tous les cas de figure de ton projet .



Public Couleur As Integer
Public Adresse As String

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

If Adresse = "" Then Adresse = Target.Address 'initialisation
If Couleur = 0 Then Couleur = Target.Interior.ColorIndex

If Not Application.Intersect(Range(Adresse), Range("B8:M24")) Is Nothing Then
If Not Range(Adresse).Interior.ColorIndex = Couleur Then 'si la couleur de la cellule est modifiée
On Error Resume Next
Range(Adresse).Comment.Text Range(Adresse).Comment.Text & Chr(10) & _
"Donnée traitée le : " & Format(Now, "dd/mm/yyyy hh:mm")
On Error GoTo 0
End If
End If

Couleur = Target.Interior.ColorIndex
Adresse = Target.Address
End Sub



bonne soiree
MichelXld
 
M

myDearFriend

Guest
Bonsoir Bleck, Michel.

Bleck, j'avais commencé à travailler un peu sur ta nouvelle question alors je t'envoie quand même ce que j'ai fait en complément de la réponse de Michel....

Tu trouveras ci-joint un exemple (basé sur le précédent) qui pourrait peut-être répondre également à ta demande. Le principe découle de cette procédure :

Private Sub Curseur(Nv As Range)
Static AncAdr As String
Static AncCoul
Dim NvCoul
Dim Com As String

If AncAdr <> "" Then
'Vérifie la couleur de l'ancienne cellule
NvCoul = Range(AncAdr).Interior.ColorIndex
'Si elle est jaune
If NvCoul = 6 Then
'Et qu'elle n'était pas jaune avant
If NvCoul <> AncCoul Then
'Modifie le commentaire
Com = Range(AncAdr).NoteText
On Error Resume Next
Range(AncAdr).Comment.Delete
Range(AncAdr).AddComment IIf(Len(Com) > 0, Com & vbLf, "") & "Traité le : " & Format(Now, "dd/mm/yyyy hh:mm")
On Error GoTo 0
End If
End If
End If
'Mémorise la couleur de la nouvelle cellule
AncCoul = Nv.Interior.ColorIndex
AncAdr = Nv.Address
End Sub



Cordialement,
Didier_mDF
 

Pièces jointes

  • PourBleck.zip
    9.9 KB · Affichages: 24

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 458
dernier inscrit
Vulgaris workshop