Savoir si une cellule contient un commentaire et le supprimer

Le
Superman
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
lSteph
Le #4632541
Bonjour,

[a1:a10].ClearComments

lSteph

On 25 juil, 14:19, Superman
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


Jean-François Aubert
Le #4630531
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"
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
JB
Le #4630421
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
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


MichDenis
Le #4630351
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"
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
MichDenis
Le #4630341
Peitite coquille, j'aurais dû écrire :

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

C.Comment.Delete



"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"
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
lSteph
Le #4630191
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
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


MichDenis
Le #4630131
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"
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
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


LSteph
Le #4630031
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"
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
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







Publicité
Poster une réponse
Anonyme