VBA - Recupérer valeur, texte dans cellule dans commentaire

Celeda

XLDnaute Barbatruc
Bonjour,

Je recherche une macro qui récupérerait le texte, la valeur d'une cellule et
qui placerait le tout dans un commentaire - attaché à la même cellule -
et qui du coup effacerait cette cellule, ce qui permettra d'y placer une nouvelle
valeur ou un nouveau texte.

Il s'agit de suivre les modifications des données. Donc, si, une nouvelle fois,
on devait modifier la cellule et si elle avait déjà un commentaire, les nouvelles
données s'ajouteraient au commentaire déjà en place.
La cerise sur le gateau ce serait d'avoir la date de l'ordi à laquelle le commentaire
a été fait.

Ex :
Jour 1 : en A1 = blabla toto
Jour 2 ; en A1 = blabla titi - commentaire associé : blabla toto
Jour 3 : en A1 = blabal mimi - commentaire associé : blabla toto date +
blabla titi date

et ainsi de suite.

Suis-je bien claire ???
:)

En attendant, je vous remercie de votre aide pour ces codes.
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - Recupérer valeur, texte dans cellule dans commentaire

Bonjour Celeda:)

Peut être comme ceci, code à placer dans le module de la feuille concernée, se déclenche lors de la modification de la cellule A1 :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Address = "$A$1" Then
        If Not .Comment Is Nothing Then
            .Comment.Text .Comment.Text & vbLf & Date & " :" & vbLf & Target
        Else
            .NoteText Date & " :" & vbLf & Target
            .Comment.Visible = False
        End If
End If
End With
End Sub

bonne fin d'après midi
@+
 
Dernière édition:

sousou

XLDnaute Barbatruc
Re : VBA - Recupérer valeur, texte dans cellule dans commentaire

Bonjour Celeda
Ma contribution pour ici la cellule a1

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then
On Error Resume Next
Target.AddComment
If Err.Number = 0 Then c = "" Else c = Chr$(10)
Target.Comment.Text Target.Comment.Text & c & Target.Value
On Error GoTo 0
End If
End Sub

Je suis en retard , mais à bientôt
 

Celeda

XLDnaute Barbatruc
Re : VBA - Recupérer valeur, texte dans cellule dans commentaire

Bonsoir,

Merci Pierrot93 et sousou : les deux fonctionnent !!

Mais si on devait étendre cette procédure à la colonne F, par exemple, toutes les cellules de cette colonne ?
(je sais j'aurai pu anticiper...mais j'ai oublié de préciser que cela pourrait s'étendre à toute une colonne :eek:)


Sincèrement, merci.:)
 

CB60

XLDnaute Barbatruc
Re : VBA - Recupérer valeur, texte dans cellule dans commentaire

Bonsoir à tous
J'ai ça dans le grenier:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim cell As Range
Dim ANCText As String, NOUVText As String

If Target.Column = 1 Then
For Each cell In Target
With cell
On Error Resume Next
ANCText = .Comment.Text
If Err <> 0 Then .AddComment
NOUVText = ANCText & " Valeur " & cell.Text & _
" Remplacé par " & Application.UserName & " le " & Now & vbLf
.Comment.Text NOUVText
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End With
Next cell
End If
End Sub

Private Function HasComment(r) As Boolean
Dim x As String
HasComment = False
On Error Resume Next
x = r.Comment.Text
If Err = 0 Then HasComment = True
End Function
 

ngs

XLDnaute Junior
Re : VBA - Recupérer valeur, texte dans cellule dans commentaire

Salut à tous,

Mon souci, c'est de créer une macro qui récupère les valeurs des cellules (sur une plage).
Comment faire?

Merci pour votre aide.

ps: en pièce jointe des valeurs dans l'onglet 'feuille1'
 

Pièces jointes

  • Classeur1.xlsm
    12.7 KB · Affichages: 163
  • Classeur1.xlsm
    12.7 KB · Affichages: 175
  • Classeur1.xlsm
    12.7 KB · Affichages: 165

Pierrot93

XLDnaute Barbatruc
Re : VBA - Recupérer valeur, texte dans cellule dans commentaire

Bonjour à tous,

pour la colonne F, l'on pourrait modifier le code donné plus haut ainsi :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Count > 1 Then Exit Sub
    If .Column = 6 Then
        If Not .Comment Is Nothing Then
            .Comment.Text .Comment.Text & vbLf & Date & " :" & vbLf & Target
        Else
            .NoteText Date & " :" & vbLf & Target
            .Comment.Visible = False
        End If
    End If
End With
End Sub

@rgs
le mieux eut été de créer ton propre fil, perso vois pas trop le rapport avec le sujet en cours...

bonne journée
@+
 
Dernière édition:

Celeda

XLDnaute Barbatruc
Re : VBA - Recupérer valeur, texte dans cellule dans commentaire

Bonjour,

Salut Pierrot : je t'avoue que je pensais bien à cette modification mais je laisse toujours aux experts le soin de confirmer. Vu mon niveau de vba, j'ai du mal à me faire confiance:::lol:
Merci Pierrot.
 

Discussions similaires

Statistiques des forums

Discussions
312 388
Messages
2 087 869
Membres
103 672
dernier inscrit
ammarhouichi