Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

contenu d'une cellule dans commentaire

10 réponses
Avatar
gilles
Bonjour à tous
J' un feuille sur laquelle j'ai beaucoup de commentaires dans des cellules
J'aimerais récupérer le contenu de ces commentaires dans une autre feuille
(ou la même)afin de les imprimer
Ou le contraire : Si je place le contenu de ces commentaires dans des
cellules ou dans des zônes de texte, y a -t-il moyen de faire apparaitre le
contenu dans des commentaires?
Y a ty kekun parmi les puissants vbatistes qui aurait une idée la dessus?
Merci
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...

10 réponses

Avatar
Carim
Bonjour,

As-tu vu le post d'hier ...
http://groups.google.com/group/microsoft.public.fr.excel/browse_thread/thread/6c0e212a5f23e616/d6aafca1e4faf662?hl=en&lnk=raot#d6aafca1e4faf662
Avatar
gilles
ok
merci carim
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour,

As-tu vu le post d'hier ...
http://groups.google.com/group/microsoft.public.fr.excel/browse_thread/thread/6c0e212a5f23e616/d6aafca1e4faf662?hl=en&lnk=raot#d6aafca1e4faf662



Avatar
gilles
Rebonjour Carim
j'ai essayé le code d'Isabelle
mais sans résultat si ce n'est un message d'erreur
INCOMPATIBILITE DE TYPE
Verrais-tu kekchose?
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour,

As-tu vu le post d'hier ...
http://groups.google.com/group/microsoft.public.fr.excel/browse_thread/thread/6c0e212a5f23e616/d6aafca1e4faf662?hl=en&lnk=raot#d6aafca1e4faf662



Avatar
Trirème
Bonjour Gilles,
J'avais pondu ce code il y a peu de temps, à toi de l'adapter. Fais des
essais sur une copie de ta feuille.
Il met la valeur de(s) cellule(s) sélectionnée(s) en commentaire puis efface
le contenu de la cellule.

Si tu ne te débrouilles pas pour le reste, reviens ici même.

ATTENTION aux sauts de lignes qui seront insérés par les troncatures de
lignes intempestives. Il suffira de les supprimer.

Sub MettreContenuEnCommentaire()
'
' La macro copie la valeur de la cellule dans le commentaire, éventuellement
' à la suite d'un commentaire déjà présent, puis efface le contenu de la
cellule.
'
' Macro enregistrée le 03/10/2007 par Trirème
'
Dim c As Range
Dim Moi As String
' ************************
Moi = "PDK" ' À renseigner avec ses initiales
' ************************
For Each c In Selection
With c
If .Comment Is Nothing Then ' Le commentaire n'existe pas, on le crée
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Moi & " (" & Date & ") :" & Chr(10) &
"Ancienne valeur = " & c.Value
.ClearContents
Else ' Un commentaire existe déjà, on ajoute alors le nouveau à
la fin de celui existant
.Comment.Text Text:=.Comment.Text & Chr(10) & Moi & " (" & Date
& ") :" & Chr(10) & "Ancienne valeur = " & c.Value
End If
End With
Next c
End Sub

Cordialement,
Trirème
Avatar
gilles
bonjour Trirème
un grand merci
j'essaie ça et je remets un commentaire sur le fil si pb
merci encore
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour Gilles,
J'avais pondu ce code il y a peu de temps, à toi de l'adapter. Fais des
essais sur une copie de ta feuille.
Il met la valeur de(s) cellule(s) sélectionnée(s) en commentaire puis efface
le contenu de la cellule.

Si tu ne te débrouilles pas pour le reste, reviens ici même.

ATTENTION aux sauts de lignes qui seront insérés par les troncatures de
lignes intempestives. Il suffira de les supprimer.

Sub MettreContenuEnCommentaire()
'
' La macro copie la valeur de la cellule dans le commentaire, éventuellement
' à la suite d'un commentaire déjà présent, puis efface le contenu de la
cellule.
'
' Macro enregistrée le 03/10/2007 par Trirème
'
Dim c As Range
Dim Moi As String
' ************************
Moi = "PDK" ' À renseigner avec ses initiales
' ************************
For Each c In Selection
With c
If .Comment Is Nothing Then ' Le commentaire n'existe pas, on le crée
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Moi & " (" & Date & ") :" & Chr(10) &
"Ancienne valeur = " & c.Value
.ClearContents
Else ' Un commentaire existe déjà, on ajoute alors le nouveau à
la fin de celui existant
.Comment.Text Text:=.Comment.Text & Chr(10) & Moi & " (" & Date
& ") :" & Chr(10) & "Ancienne valeur = " & c.Value
End If
End With
Next c
End Sub

Cordialement,
Trirème


Avatar
gilles
re-bonjour Trirème,
Nickel
par contre , si tu fais la manip plusieurs fois, il ajoute dans le
commentaire, au lieu de remplacer.
Si ta grande bonté va jusque là, je serais également interessé par un code
qui fait le contraire: copier le contenu de commentaires dans des cellules ou
des zônes de texte, afin de les imprimer pour les fournir à des personnes qui
n'ont pas le fichier sous les yeux (le commentaire comporte 1 ou 2 dizaine de
lignes)
Dans tous les cas, Merci encore
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour Gilles,
J'avais pondu ce code il y a peu de temps, à toi de l'adapter. Fais des
essais sur une copie de ta feuille.
Il met la valeur de(s) cellule(s) sélectionnée(s) en commentaire puis efface
le contenu de la cellule.

Si tu ne te débrouilles pas pour le reste, reviens ici même.

ATTENTION aux sauts de lignes qui seront insérés par les troncatures de
lignes intempestives. Il suffira de les supprimer.

Sub MettreContenuEnCommentaire()
'
' La macro copie la valeur de la cellule dans le commentaire, éventuellement
' à la suite d'un commentaire déjà présent, puis efface le contenu de la
cellule.
'
' Macro enregistrée le 03/10/2007 par Trirème
'
Dim c As Range
Dim Moi As String
' ************************
Moi = "PDK" ' À renseigner avec ses initiales
' ************************
For Each c In Selection
With c
If .Comment Is Nothing Then ' Le commentaire n'existe pas, on le crée
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Moi & " (" & Date & ") :" & Chr(10) &
"Ancienne valeur = " & c.Value
.ClearContents
Else ' Un commentaire existe déjà, on ajoute alors le nouveau à
la fin de celui existant
.Comment.Text Text:=.Comment.Text & Chr(10) & Moi & " (" & Date
& ") :" & Chr(10) & "Ancienne valeur = " & c.Value
End If
End With
Next c
End Sub

Cordialement,
Trirème


Avatar
Tatanka
Salut Gilles,

Sélectionne une plage de cellules contenant ou non des commentaires
et appelle cette macro :
Copie_Commentaires_Sélection_Dans_Zones_De_Texte

Si tu sélectionnes une seule cellule (n'importe laquelle), tous les commentaires
apparaîtront dans des zones de texte sur une nouvelle feuille.

Si tu sélectionnes plus d'une cellule, seuls les commentaires de ta sélection
apparaîtront dans des zones de texte sur une nouvelle feuille.

Copie ces deux macros dans un module standard :

Sub Copie_Commentaires_Sélection_Dans_Zones_De_Texte()
Application.ScreenUpdating = False
Dim H()
Dim T()
Set ici = Selection.SpecialCells(xlCellTypeComments)
nc = ici.Count
ReDim H(nc)
ReDim T(nc)
H(1) = 0
T(1) = 0
Sheets.Add
ActiveWindow.DisplayGridlines = False
For Each c In ici
i = i + 1
W = c.Comment.Shape.Width
H(i) = c.Comment.Shape.Height
T(i) = T(i - 1) + H(i - 1) + 5
Set zone = ActiveSheet.Shapes. _
AddTextbox(msoTextOrientationHorizontal, 0, T(i), W, H(i))
Fonte_Grosseur c, zone
zone.TextFrame.Characters.Text = c.Comment.Text
Next c
[a2].Select
Application.ScreenUpdating = True
End Sub

Sub Fonte_Grosseur(un, deux)
un.Comment.Shape.Visible = True
un.Comment.Shape.Select
With Selection
F = .Font.Name
G = .Font.Size
End With
deux.Select
With Selection
.Font.Name = F
.Font.Size = G
End With
End Sub

Serge


"gilles" a écrit dans le message de news:
re-bonjour Trirème,
Nickel
par contre , si tu fais la manip plusieurs fois, il ajoute dans le
commentaire, au lieu de remplacer.
Si ta grande bonté va jusque là, je serais également interessé par un code
qui fait le contraire: copier le contenu de commentaires dans des cellules ou
des zônes de texte, afin de les imprimer pour les fournir à des personnes qui
n'ont pas le fichier sous les yeux (le commentaire comporte 1 ou 2 dizaine de
lignes)
Dans tous les cas, Merci encore
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour Gilles,
J'avais pondu ce code il y a peu de temps, à toi de l'adapter. Fais des
essais sur une copie de ta feuille.
Il met la valeur de(s) cellule(s) sélectionnée(s) en commentaire puis efface
le contenu de la cellule.

Si tu ne te débrouilles pas pour le reste, reviens ici même.

ATTENTION aux sauts de lignes qui seront insérés par les troncatures de
lignes intempestives. Il suffira de les supprimer.

Sub MettreContenuEnCommentaire()
'
' La macro copie la valeur de la cellule dans le commentaire, éventuellement
' à la suite d'un commentaire déjà présent, puis efface le contenu de la
cellule.
'
' Macro enregistrée le 03/10/2007 par Trirème
'
Dim c As Range
Dim Moi As String
' ************************
Moi = "PDK" ' À renseigner avec ses initiales
' ************************
For Each c In Selection
With c
If .Comment Is Nothing Then ' Le commentaire n'existe pas, on le crée
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Moi & " (" & Date & ") :" & Chr(10) &
"Ancienne valeur = " & c.Value
.ClearContents
Else ' Un commentaire existe déjà, on ajoute alors le nouveau à
la fin de celui existant
.Comment.Text Text:=.Comment.Text & Chr(10) & Moi & " (" & Date
& ") :" & Chr(10) & "Ancienne valeur = " & c.Value
End If
End With
Next c
End Sub

Cordialement,
Trirème




Avatar
Trirème
Bonjour Gilles,
Sans regarder la solution de Tatanka, sais tu que tu peux imprimer un
document avec les commentaires ? C'est une option d'impression, sans
développement à faire.
Fichier, Mise en page, Feuille...
Dans le cadre 'Impression', tu déroules la boite déroulante 'commentaires'
pour choisir la manière dont tu veux imprimer les commentaires.

Cordialement,
Trirème


re-bonjour Trirème,
Nickel
par contre , si tu fais la manip plusieurs fois, il ajoute dans le
commentaire, au lieu de remplacer.
Si ta grande bonté va jusque là, je serais également interessé par un code
qui fait le contraire: copier le contenu de commentaires dans des cellules ou
des zônes de texte, afin de les imprimer pour les fournir à des personnes qui
n'ont pas le fichier sous les yeux (le commentaire comporte 1 ou 2 dizaine de
lignes)
Dans tous les cas, Merci encore
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour Gilles,
J'avais pondu ce code il y a peu de temps, à toi de l'adapter. Fais des
essais sur une copie de ta feuille.
Il met la valeur de(s) cellule(s) sélectionnée(s) en commentaire puis efface
le contenu de la cellule.

Si tu ne te débrouilles pas pour le reste, reviens ici même.

ATTENTION aux sauts de lignes qui seront insérés par les troncatures de
lignes intempestives. Il suffira de les supprimer.

Sub MettreContenuEnCommentaire()
'
' La macro copie la valeur de la cellule dans le commentaire, éventuellement
' à la suite d'un commentaire déjà présent, puis efface le contenu de la
cellule.
'
' Macro enregistrée le 03/10/2007 par Trirème
'
Dim c As Range
Dim Moi As String
' ************************
Moi = "PDK" ' À renseigner avec ses initiales
' ************************
For Each c In Selection
With c
If .Comment Is Nothing Then ' Le commentaire n'existe pas, on le crée
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Moi & " (" & Date & ") :" & Chr(10) &
"Ancienne valeur = " & c.Value
.ClearContents
Else ' Un commentaire existe déjà, on ajoute alors le nouveau à
la fin de celui existant
.Comment.Text Text:=.Comment.Text & Chr(10) & Moi & " (" & Date
& ") :" & Chr(10) & "Ancienne valeur = " & c.Value
End If
End With
Next c
End Sub

Cordialement,
Trirème




Avatar
Tatanka
Salut Trirème et Gilles,

Tellement plus simple que mes divagations :-)
Et en plus cette mise en page identifie la cellule contenant le commentaire.
D'ailleurs il faudrait modifier mes macros pour qu'elles puissent
reproduire la mise en forme du texte des commentaires.

Serge


"Trirème" a écrit dans le message de news:
Bonjour Gilles,
Sans regarder la solution de Tatanka, sais tu que tu peux imprimer un
document avec les commentaires ? C'est une option d'impression, sans
développement à faire.
Fichier, Mise en page, Feuille...
Dans le cadre 'Impression', tu déroules la boite déroulante 'commentaires'
pour choisir la manière dont tu veux imprimer les commentaires.

Cordialement,
Trirème


re-bonjour Trirème,
Nickel
par contre , si tu fais la manip plusieurs fois, il ajoute dans le
commentaire, au lieu de remplacer.
Si ta grande bonté va jusque là, je serais également interessé par un code
qui fait le contraire: copier le contenu de commentaires dans des cellules ou
des zônes de texte, afin de les imprimer pour les fournir à des personnes qui
n'ont pas le fichier sous les yeux (le commentaire comporte 1 ou 2 dizaine de
lignes)
Dans tous les cas, Merci encore
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour Gilles,
J'avais pondu ce code il y a peu de temps, à toi de l'adapter. Fais des
essais sur une copie de ta feuille.
Il met la valeur de(s) cellule(s) sélectionnée(s) en commentaire puis efface
le contenu de la cellule.

Si tu ne te débrouilles pas pour le reste, reviens ici même.

ATTENTION aux sauts de lignes qui seront insérés par les troncatures de
lignes intempestives. Il suffira de les supprimer.

Sub MettreContenuEnCommentaire()
'
' La macro copie la valeur de la cellule dans le commentaire, éventuellement
' à la suite d'un commentaire déjà présent, puis efface le contenu de la
cellule.
'
' Macro enregistrée le 03/10/2007 par Trirème
'
Dim c As Range
Dim Moi As String
' ************************
Moi = "PDK" ' À renseigner avec ses initiales
' ************************
For Each c In Selection
With c
If .Comment Is Nothing Then ' Le commentaire n'existe pas, on le crée
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Moi & " (" & Date & ") :" & Chr(10) &
"Ancienne valeur = " & c.Value
.ClearContents
Else ' Un commentaire existe déjà, on ajoute alors le nouveau à
la fin de celui existant
.Comment.Text Text:=.Comment.Text & Chr(10) & Moi & " (" & Date
& ") :" & Chr(10) & "Ancienne valeur = " & c.Value
End If
End With
Next c
End Sub

Cordialement,
Trirème






Avatar
Trirème
Tellement plus simple que mes divagations :-)
;-)

Hélas, Excel aime bien jouer à cache-cache avec certaines options. Et
parfois, pour peu qu'on les connaisse, on les oublie faute de pratique.

En plus, l'option 'à la fin de la feuille' n'a de sens que si l'on imprime
la feuille en question avec les entêtes de ligne et de colonne pour savoir où
le commentaire apparait. Et c'est moins joli. Et l'option 'Tel que sur la
feuille' suppose qu'on accepte la visualisation permanente des
commentaires... J'utilise très peu cette impression.

Cordialement,
Trirème