Bonjour à tous,

Je suis débutant en VBA.

j'ai le code suivant qui fonctionne à l'activation d'une feuille

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub ajouterCommentaire() 'si il y a pas de commentaire, on en ajoute un
 
Dim wsAbs As Range
Dim ws As Worksheet
Dim Celcom As Variant
Dim i As Integer
Dim valrech As String
 
Set wsAbs = ThisWorkbook.Worksheets("Divers").Range("congésBIS")
Set ws = ThisWorkbook.ActiveSheet
 
For i = 15 To 36
    If ws.Range("f" & i) <> "" Then
        valrech = ws.Range("f" & i).Value
        Celcom = Application.VLookup(valrech, wsAbs, 3, 0)
        ws.Range("f" & i).ClearComments
        If ws.Range("f" & i).Comment Is Nothing Then ws.Range("f" & i).AddComment
            With ws.Range("F" & i)
                With .Comment
                    .Visible = False
                    .Text Text:=Celcom
                    .Shape.TextFrame.AutoSize = True
                End With
            End With
        End If
 
Next i
 
End Sub
procédure placée dans :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Private Sub workbook_sheetactivate(ByVal Sh As Object)
 
Call ajouterCommentaire
 
End Sub
Cependant, lorsque je modifie une cellule. le commentaire n'est pas mis à jour directement. Je dois changer de feuille et revenir afin de relancer la procédure.

Comment faire pour que ce code fonctionne lorsque je modifie une cellule?

Merci.