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

Savoir si une cellule contient un commentaire et le supprimer

8 réponses
Avatar
Superman
Bonjour,

J'aimerais =E0 l'aide d'une boucle sur une colonne, v=E9rifier la pr=E9sence
d'un commentaire et si il existe le supprimer :

For i=3D 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci

8 réponses

Avatar
lSteph
Bonjour,

[a1:a10].ClearComments

lSteph

On 25 juil, 14:19, Superman wrote:
Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la prése nce
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci


Avatar
Jean-François Aubert
Salut Superman,
si tu dois supprimer tous les commentaires:
Selection.ClearComments

si tu dois vérifier le texte du commentaire:
if range(cells(i,1)).Comment.Text <> "" then


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Superman" a écrit dans le message de news:

Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la présence
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci
Avatar
JB
Bonjour,

On Error Resume Next
[A1].Comment.Delete

ou

If Not [A1].Comment Is Nothing Then
[A1].Comment.Delete
End If

JB


On 25 juil, 14:19, Superman wrote:
Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la prése nce
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci


Avatar
MichDenis
Cette ligne de code supprime tous les commentaire de la colonne A:A

On error resume next
Range("A:A").SpecialCells(xlCellTypeComments).Delete
OU CECI :
On error resume next
Columns(1).SpecialCells(xlCellTypeComments).Delete

Si tu veux éliminer le commentaire ayant un texte particulier,
tu devras boucler
'------------------------
Sub test()
Dim C As Range
On error resume next
For Each C In Columns(1).SpecialCells(xlCellTypeComments)
x = C.NoteText
If C.NoteText = "Denis" Then
C.Delete
End If
Next
End Sub
'------------------------

Attention l'usage du symbole "=" signifie que la casse doit être respecté
et il faut faire gaffe de la présence d'un retour à la ligne qui n'est pas
nécessairement visible à l'oeil. L'usage de la fonction InStr() est plus
maléable dans ce cas.




"Superman" a écrit dans le message de news:

Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la présence
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci
Avatar
MichDenis
Peitite coquille, j'aurais dû écrire :

"Comment" a été oublié dans la procédure suggérée

C.Comment.Delete



"MichDenis" a écrit dans le message de news:

Cette ligne de code supprime tous les commentaire de la colonne A:A

On error resume next
Range("A:A").SpecialCells(xlCellTypeComments).Delete
OU CECI :
On error resume next
Columns(1).SpecialCells(xlCellTypeComments).Delete

Si tu veux éliminer le commentaire ayant un texte particulier,
tu devras boucler
'------------------------
Sub test()
Dim C As Range
On error resume next
For Each C In Columns(1).SpecialCells(xlCellTypeComments)
x = C.NoteText
If C.NoteText = "Denis" Then
C.Delete
End If
Next
End Sub
'------------------------

Attention l'usage du symbole "=" signifie que la casse doit être respecté
et il faut faire gaffe de la présence d'un retour à la ligne qui n'est pas
nécessairement visible à l'oeil. L'usage de la fonction InStr() est plus
maléable dans ce cas.




"Superman" a écrit dans le message de news:

Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la présence
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci
Avatar
lSteph
Re, bonjour,

Je vois à nouveau des boucles qui frisent sauf
s'il y avait à gèrer un texte particulier là ce serait utile,
selon ce que je proposais, ceci règle le cas de toute la plage:

[a1:a10].ClearComments

il n'est nul besoin de vérifier si le comentaire existe ou non,
s'il existe il sera supprimé, à défaut de commentaires il n'y a pas
non plus besoin de
On error resume next
comme ce serait le cas avec comment.delete

Cordialement.

lSteph




On 25 juil, 14:19, Superman wrote:
Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la prése nce
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci


Avatar
MichDenis
Il ne faut pas tout mêler :

Ceci supprime pas seulement les commentaires mais les cellules qui
contiennent les commentaires
Range("A:A").SpecialCells(xlCellTypeComments).delete

Ceci supprime seulement les commentaires sans toucher aux cellules :
Range("A:A").ClearComments

Et ceci c'est pour boucler seulement sur les cellules qui ont un commentaire
à la recherche d'un texte particulier ....
'---------------------------
Sub test()
Dim C As Range
On error resume next
For Each C In Columns(1).SpecialCells(xlCellTypeComments)
If C.NoteText = "Denis" Then
C.Comment.Delete
End If
Next
End Sub
'---------------------------


"lSteph" a écrit dans le message de news:

Re, bonjour,

Je vois à nouveau des boucles qui frisent sauf
s'il y avait à gèrer un texte particulier là ce serait utile,
selon ce que je proposais, ceci règle le cas de toute la plage:

[a1:a10].ClearComments

il n'est nul besoin de vérifier si le comentaire existe ou non,
s'il existe il sera supprimé, à défaut de commentaires il n'y a pas
non plus besoin de
On error resume next
comme ce serait le cas avec comment.delete

Cordialement.

lSteph




On 25 juil, 14:19, Superman wrote:
Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la présence
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci


Avatar
LSteph
Alors, grand Merci MichDenis :-)

d'avoir confirmé,
tu en connais bien plus que moi et aurais bien pu trouver quelque
inconvénient, qui mette en doute ma proposition!

[a1:a10].ClearComments

va donc très bien pour supprimer les commentaires sans toucher aux cellules

et par rapport à ce qui était demandé, pas besoin de boucle

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la présence
d'un commentaire et si il existe le supprimer :



Laissons donc à ceux qui veulent le droit de
... tout mêler


Encore merci pour ta brillante intervention!

;-)

LSteph

Il ne faut pas tout mêler :

Ceci supprime pas seulement les commentaires mais les cellules qui
contiennent les commentaires
Range("A:A").SpecialCells(xlCellTypeComments).delete

Ceci supprime seulement les commentaires sans toucher aux cellules :
Range("A:A").ClearComments

Et ceci c'est pour boucler seulement sur les cellules qui ont un commentaire
à la recherche d'un texte particulier ....
'---------------------------
Sub test()
Dim C As Range
On error resume next
For Each C In Columns(1).SpecialCells(xlCellTypeComments)
If C.NoteText = "Denis" Then
C.Comment.Delete
End If
Next
End Sub
'---------------------------


"lSteph" a écrit dans le message de news:

Re, bonjour,

Je vois à nouveau des boucles qui frisent sauf
s'il y avait à gèrer un texte particulier là ce serait utile,
selon ce que je proposais, ceci règle le cas de toute la plage:

[a1:a10].ClearComments

il n'est nul besoin de vérifier si le comentaire existe ou non,
s'il existe il sera supprimé, à défaut de commentaires il n'y a pas
non plus besoin de
On error resume next
comme ce serait le cas avec comment.delete

Cordialement.

lSteph




On 25 juil, 14:19, Superman wrote:
Bonjour,

J'aimerais à l'aide d'une boucle sur une colonne, vérifier la présence
d'un commentaire et si il existe le supprimer :

For i= 1 to 10
if range(cells(i,1)) <> "" then
range(cells(i,1)).clearcomments
endif

mais cela ne fonctionne pas !

Pourriez vous m'aider s'il vous plait ?

Merci