Saisir un commentaire.

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

Luigi

XLDnaute Occasionnel
Bonjour à vous tous

Je voudrais via une macro Excel saisir dans la cellule [D6] un commentaire lorsque la cellule contient la lettre « P », le voudrais que la fenêtre commentaire s’ouvre que je puisse saisir mon texte et après en cliquant sur une autre cellule que la fenêtre commentaire se ferme.
Quelqu’un pourrait-il m’aider sur cette demande, ci-dessous la macro que j’ai réalisé le problème c’est que je ne sais pas comment faire pour saisir mon texte qui n’est jamais le même.

Merci

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If [D6] = "P" Then

Range("D6").Select
Range("D6").AddComment
Range("D6").Comment.Visible = True
MsgBox "Saisir le texte"
Range("D6").Comment.Text Text:="lneves:" & Chr(10) & "Test commentaire"
Range("D6").Select
ActiveCell.Comment.Visible = False

Else: [D6] = "O"

Range("D6").Select
Selection.ClearComments
End If
Range("A1").Select
End Sub
 
Re : Saisir un commentaire.

Bonsoir Luigi, mromain, le Forum,

Si j'ai bien compris ce que tu cherches à faire, tu peux éventuellement tester cette autre façon de faire qui te permettra la saisie du texte directement dans le frame du commentaire. Code à copier dans le module de code de la Feuille :

Code:
[COLOR=GRAY][B][I]DANS LE MODULE DE CODE DE LA FEUILLE[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit[/COLOR]
[COLOR=GREEN]'myDearFriend!  -  www.mdf-xlpages.com[/COLOR]
[COLOR=NAVY]Private Sub[/COLOR] Worksheet_Change([COLOR=NAVY]ByVal[/COLOR] Target [COLOR=NAVY]As[/COLOR] Range)
[COLOR=NAVY]Dim[/COLOR] Cmt [COLOR=NAVY]As[/COLOR] Comment
    [COLOR=NAVY]If Not[/COLOR] Application.Intersect(Target(1), Range("D6")) [COLOR=NAVY]Is Nothing Then
        With[/COLOR] Target(1)
            [COLOR=NAVY]If[/COLOR] .Value = "P" [COLOR=NAVY]Then
                Set[/COLOR] Cmt = .Comment
                [COLOR=NAVY]If[/COLOR] Cmt [COLOR=NAVY]Is Nothing Then Set[/COLOR] Cmt = .AddComment
                [COLOR=NAVY]With[/COLOR] Cmt
                    .Visible = [COLOR=NAVY]True[/COLOR]
                    .Shape.[COLOR=NAVY]Select
                End With[/COLOR]
                Application.CommandBars.FindControl(ID:=1401).Execute
            [COLOR=NAVY]ElseIf[/COLOR] .Value = "O" [COLOR=NAVY]Then[/COLOR]
                .ClearComments
            [COLOR=NAVY]End If
        End With
    End If
End Sub[/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] Worksheet_SelectionChange([COLOR=NAVY]ByVal[/COLOR] Target [COLOR=NAVY]As[/COLOR] Range)
    [COLOR=NAVY]On Error Resume Next
    If[/COLOR] Application.Intersect(Target, Range("D6")) [COLOR=NAVY]Is Nothing Then[/COLOR]
        Range("D6").Comment.Visible = [COLOR=NAVY]False
    End If
End Sub[/COLOR]
Si tu veux absolument mettre le code dans le ThisWorkbook (comme dans ton exemple), il conviendra d'utiliser Workbook_SheetChange() et Workbook_SheetSelectionChange().

Cordialement,
 

Pièces jointes

- 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
2
Affichages
154
Réponses
4
Affichages
461
Réponses
9
Affichages
211
  • Question Question
Microsoft 365 modifier un code
Réponses
1
Affichages
464
Réponses
3
Affichages
195
Réponses
4
Affichages
225
Retour