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

VBA. Comment savoir si il y'a déja un commentaire sur une cellule ?

7 réponses
Avatar
HD
Bonjour,

Comment peut on savoir si il y'a déja un commentaire sur une cellule sans
passer par la gestion d'erreur ?

Merci d'avance pour votre aide
--
@+
HD

7 réponses

Avatar
anonymousA
bonjour,

en utilisant un biais

Set ws = ActiveSheet
Set rng = Cells(2, 2) 'p.e on cherche à savoir s'il existe un
commentaire en cellule B2
For Each com In ws.Comments
If Not Intersect(rng, com.Parent) Is Nothing Then
MsgBox "il existe un commentaire dans la cellule rng"
Exit Sub
End If
Next
MsgBox "Il n'existe pas de commentaire dans la cellule rng "

Du fait de la manière de rechercher les commentaires, il n'est pas
nécessaire d'avoir une gestion d'erreurs.
Cependant, cette procédure est de loin bien moins performante qu'un bon
veil essai d'ajouter un commentaire sur une cellule et de faire une
gestion d'erreurs pour détecter s'il en existe déjà un.

M'enfin , c'était ta demande.

A+

Bonjour,

Comment peut on savoir si il y'a déja un commentaire sur une cellule sans
passer par la gestion d'erreur ?

Merci d'avance pour votre aide


Avatar
isabelle
bonjour HD,

je n'ai pas trouver de solution sans faire une boucle,

For Each c In Sheets("Feuil1").Comments
If c.Parent.Address(0, 0) = "A2" Then MsgBox "il y a un commentaire"
' ou bien remplacer A2 par ActiveCell.Address(0, 0)
Next

isabelle

Bonjour,

Comment peut on savoir si il y'a déja un commentaire sur une cellule sans
passer par la gestion d'erreur ?

Merci d'avance pour votre aide


Avatar
Gaenonius
Tu peux utiliser la propriété NoteText. Par exemple, dans une fonction perso
(utilisable également dans une feuille de calcul) :

Function HasComment(cell)
HasComment = cell.NoteText <> ""
End Function

--
Gaenonius

Bonjour,

Comment peut on savoir si il y'a déja un commentaire sur une cellule sans
passer par la gestion d'erreur ?

Merci d'avance pour votre aide


Avatar
isabelle
bonjour Gaenonius,

si la cellule a un commentaire vide, ça a l'incovénient de retourner la
valeur faux.

isabelle


Tu peux utiliser la propriété NoteText. Par exemple, dans une fonction
perso (utilisable également dans une feuille de calcul) :

Function HasComment(cell)
HasComment = cell.NoteText <> ""
End Function

--
Gaenonius


Bonjour,

Comment peut on savoir si il y'a déja un commentaire sur une cellule sans
passer par la gestion d'erreur ?

Merci d'avance pour votre aide




Avatar
Gaenonius
Certes Isabelle.
Mais à peine une ligne de code, sans test d'erreur. Et puis, avec une pointe de
mauvaise foi, on pourrait presque prétendre qu'un commentaire vide et pas de
commentaire du tout ce n'est pas loin d'être un peu bonnet blanc et blanc bonnet...
Attendons les commentaires de "HD", en espérant qu'il ne reste pas sans sur ce
coup-là.
:)

--
Gaenonius

bonjour Gaenonius,

si la cellule a un commentaire vide, ça a l'incovénient de retourner la
valeur faux.

isabelle


Tu peux utiliser la propriété NoteText. Par exemple, dans une fonction
perso (utilisable également dans une feuille de calcul) :

Function HasComment(cell)
HasComment = cell.NoteText <> ""
End Function

--
Gaenonius


Bonjour,

Comment peut on savoir si il y'a déja un commentaire sur une cellule
sans
passer par la gestion d'erreur ?

Merci d'avance pour votre aide






Avatar
anonymousA
bonsoir,

perso, je retiens quand même le truc même s'il n'est pas parfait.
Décidement cet objet range n'a pas fini de me ravir.

A+

Certes Isabelle.
Mais à peine une ligne de code, sans test d'erreur. Et puis, avec une
pointe de mauvaise foi, on pourrait presque prétendre qu'un commentaire
vide et pas de commentaire du tout ce n'est pas loin d'être un peu
bonnet blanc et blanc bonnet...
Attendons les commentaires de "HD", en espérant qu'il ne reste pas sans
sur ce coup-là.
:)

--
Gaenonius


bonjour Gaenonius,

si la cellule a un commentaire vide, ça a l'incovénient de retourner
la valeur faux.

isabelle


Tu peux utiliser la propriété NoteText. Par exemple, dans une
fonction perso (utilisable également dans une feuille de calcul) :

Function HasComment(cell)
HasComment = cell.NoteText <> ""
End Function

--
Gaenonius


Bonjour,

Comment peut on savoir si il y'a déja un commentaire sur une cellule
sans
passer par la gestion d'erreur ?

Merci d'avance pour votre aide








Avatar
HD
Function HasComment(cell)
HasComment = cell.NoteText <> ""
End Function
Effectivement cette fonction me convient parfaitement !!! Mes commentaires



réalisés aux préalables par macros ne seront pas vides de toutes manières.

Un grand MERCI à vous tous pour votre aide.
--
@+
HD