XL 2019 Comment modifier ces codes VB de sorte que le clic droit sur un commentaire présent, permette l'édition et non cette erreur (capture) ?

  • Initiateur de la discussion Initiateur de la discussion anthoYS
  • 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 !

anthoYS

XLDnaute Barbatruc
Bonjour



En colonne J ... clic droit.. (voir fichier joint)

Les codes de la feuille :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 And Target.Row > 1 Then
        Cancel = True
        Ligne = Target.Row 'ou Application.Goto [repas].Columns(1).Find(Date)
        UserForm1.Show
    End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 2 Then ' Vérifie si le clic droit est dans la colonne B
        Cancel = True ' Annule le menu contextuel par défaut
        Application.DisplayCommentIndicator = xlCommentIndicatorOnly
        ' Crée ou ouvre une nouvelle note avec du texte présaisi, espacé, en gras et souligné
        If Target.Comment Is Nothing Then
            With Target
                .AddComment ""
                With .Comment.Shape.TextFrame.Characters
                    .Text = "petit déj : " & vbNewLine & vbNewLine & "déj : " & vbNewLine & vbNewLine & "snack/collation : " & vbNewLine & vbNewLine & "diner : "
                    .Font.Bold = True
                    .Font.Underline = True
                End With
                ' Agrandit la fenêtre du commentaire
                .Comment.Shape.Width = 200 ' Largeur en points
                .Comment.Shape.Height = 150 ' Hauteur en points
                .Comment.Visible = True
                .Comment.Shape.Select
            End With
        Else
            Target.Comment.Visible = True
            Target.Comment.Shape.Select
        End If
    ElseIf Target.Column = 10 Then ' Vérifie si le clic droit est dans la colonne J
        Cancel = True ' Annule le menu contextuel par défaut
        Application.DisplayCommentIndicator = xlCommentIndicatorOnly
        ' Crée ou ouvre une nouvelle note vierge
        If Target.Comment Is Nothing Then
            With Target
                .AddComment ""
                .Comment.Visible = True
                .Comment.Shape.Select
            End With
        Else
            Target.Comment.Visible = True
            Target.Comment.Shape.Select
        End If
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.DisplayCommentIndicator = xlCommentIndicatorOnly
End Sub

l'erreur en capture :


Merci !
 

Pièces jointes

  • EXCEL_CS6bzmtOVa.png
    EXCEL_CS6bzmtOVa.png
    11.1 KB · Affichages: 3
  • Classeur14.xlsm
    Classeur14.xlsm
    17.8 KB · Affichages: 2
Solution
Bonjour Antho,
Un essai en PJ sans grande certitude d'avoir compris la demande.

Si ce n'est pas ça, vous devriez éditer un nouveau post avec cette demande spécifique, vous aurez plus de chances d'avoir des réponses car le titre de ce post ne concerne plus cette demande et certains contributeurs passeront à coté.
L'objectif étant d'afficher le commentaire en cas de survol de la cellule qui a un commentaire et prêt à saisir mais disparait si je clique en dehors du commentaire, reste visible et modifiable si et uniquement si survol ou clic sur le commentaire de la cellule...

Est-ce assez précis ?
 
Bonjour Antho,
En trichant un peu :
VB:
        ' Crée ou ouvre une nouvelle note vierge
        If Target.Comment Is Nothing Then
            With Target
                .AddComment ""
                .Comment.Visible = True
                .Comment.Shape.Select
            End With
        Else
            With Target
                Texte = .Comment.Text
                .Comment.Delete
                .AddComment Texte
                .Comment.Visible = True
                .Comment.Shape.Select
            End With
        End If
 

Pièces jointes

Bonjour Antho,
Un essai en PJ sans grande certitude d'avoir compris la demande.

Si ce n'est pas ça, vous devriez éditer un nouveau post avec cette demande spécifique, vous aurez plus de chances d'avoir des réponses car le titre de ce post ne concerne plus cette demande et certains contributeurs passeront à coté.
 

Pièces jointes

Bonjour Antho,
Un essai en PJ sans grande certitude d'avoir compris la demande.

Si ce n'est pas ça, vous devriez éditer un nouveau post avec cette demande spécifique, vous aurez plus de chances d'avoir des réponses car le titre de ce post ne concerne plus cette demande et certains contributeurs passeront à coté.
Non, merci c'est bien ça 🙂

Parfait donc, un grand merci !
 
- 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

Retour