Vérifier en VBA si présence (ou pas ) d'un commentaire!

  • Initiateur de la discussion Initiateur de la discussion Claudy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Claudy

XLDnaute Accro
Bonjour à tous,
dans un module, j'utilise la macro ci dessous:

Sub Inserer_Commentaire()
Dim zaza As String
zaza = InputBox("Quelle remarque?", ActiveCell.Value, ActiveCell.Comment.Text)
If zaza = "" Then
ActiveCell.ClearComments
Exit Sub
End If
With ActiveCell
.ClearComments
.AddComment
.Comment.Visible = False
'.Comment.Shape.Select True
.Comment.Text Text:=zaza

End With
End Sub
Cela fonctionne bien si la cellule contient déjà un commentaire, mais si il n'y en a pas, ça bug!
Alors , il faudrait tester la présence d'un commentaire, mais je n'y arrive pas!
Merci d'avance pour votre aide,
Claudy
 
Re : Vérifier en VBA si présence (ou pas ) d'un commentaire!

Bonjour,
Il me semble qu'un Range a une propriété HasComment booleenne qui permet de savoir si on peut sans erreur soit Créer soi Modifier ou supprimer un commentaire existant.
Cordialement
 
Re : Vérifier en VBA si présence (ou pas ) d'un commentaire!

Bonjour et merci,
Après recherche sur le mot clef "HasComment":
Sub Inserer_Commentaire()
Dim zaza As String
If HasComment(ActiveCell) = True Then

zaza = InputBox("Quelle remarque?", ActiveCell.Value, ActiveCell.Comment.Text)
Else
zaza = InputBox("Quelle remarque?")
End If
If zaza = "" Then
ActiveCell.ClearComments
Exit Sub
End If
With ActiveCell
.ClearComments
.AddComment
.Comment.Visible = False
'.Comment.Shape.Select True
.Comment.Text Text:=zaza

End With
End Sub
Public Function HasComment(Target As Range) As Boolean
'Patrick Molloy, 2001-11-17 programming
On Error Resume Next ' to use in WS: =HasComment(a1)
Dim txt As String ' to use in VBA: MsgBox hascomment(Range("a1"))
txt = Target.Comment.Text 'in Event: MsgBox hascomment(Target)
HasComment = Err.Number = 0
Err.Clear
End Function
Bonne journée,
Claudy
 
Re : Vérifier en VBA si présence (ou pas ) d'un commentaire!

Après vérification, je me suis donc trompé, il n'y a pas ...Comment parmi les de propriétés Has...
Mais il y aurait pu...
Ils ont sans doute jugé que c'était si simple à tester que ça na vallait pas le coup.
Votre fonction doit être quand même beaucoup plus simple:
Code:
Public Function HasComment(Target As Range) As Boolean
HasComment = Not Target.Comment Is Nothing
End Function

Pion damé !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
681
Réponses
2
Affichages
548
Réponses
18
Affichages
7 K
Retour