Savoir si une cellule contient un commentaire et le supprimer

Le
Superman
Bonjour,

J'aimerais l'aide d'une boucle sur une colonne, vrifier la prsence
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
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