j'ai un petit pb avec le code difus=E9 sur le site :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
x =3D Application.[List].Find(Target.Value).Address
With Target
.ClearComments
.AddComment
On Error Resume Next
.Comment.Text Text:=3DRange(x).Comment.Text
If Err.Number =3D 91 Then .ClearComments
.Comment.Shape.TextFrame.AutoSize =3D True
End With
End Sub=20
Car visiblement la liste doit =EAtre sur la m=EAme feuille=20
pour que le commentaire s'affiche.
J'ai essay=E9 en mettant ce code dans la Feuil1 et la liste=20
(avec les commentaires dans la Feuil2).
Mais visiblement les commentaires ne s'affichent pas.=20
Alors que si la target est bien dans la Feuil2 et que le=20
code est sur la Feuil2 cela marche.
Pourriez-vous s'il vous pla=EEt m'indiquer les=20
modifications que je dois apporter pour que cela=20
fonctionne lorsque la Liste est sur une autre feuille.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Comme ça :
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Address <> "$A$1" Then Exit Sub F = [List].Parent.Name X = Application.[List].Find(zz.Value).Address With zz .ClearComments .AddComment On Error Resume Next .Comment.Text Text:=Sheets(F).Range(X).Comment.Text If Err.Number = 91 Then .ClearComments .Comment.Shape.TextFrame.AutoSize = True End With End Sub
PS : il serait bon d'avoir une liste de validation en A1 pour éviter l'erreur renvoyée par le "find" si la valeur saisie n'existe pas dans la plage [List] AV
Comme ça :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
F = [List].Parent.Name
X = Application.[List].Find(zz.Value).Address
With zz
.ClearComments
.AddComment
On Error Resume Next
.Comment.Text Text:=Sheets(F).Range(X).Comment.Text
If Err.Number = 91 Then .ClearComments
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub
PS : il serait bon d'avoir une liste de validation en A1 pour éviter l'erreur
renvoyée par le "find" si la valeur saisie n'existe pas dans la plage [List]
AV
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Address <> "$A$1" Then Exit Sub F = [List].Parent.Name X = Application.[List].Find(zz.Value).Address With zz .ClearComments .AddComment On Error Resume Next .Comment.Text Text:=Sheets(F).Range(X).Comment.Text If Err.Number = 91 Then .ClearComments .Comment.Shape.TextFrame.AutoSize = True End With End Sub
PS : il serait bon d'avoir une liste de validation en A1 pour éviter l'erreur renvoyée par le "find" si la valeur saisie n'existe pas dans la plage [List] AV
Lagaffe
Encore merci pour ta réponse AV
Par contre, il y a t-il un moyen de formater le commentaire afficher, car en cas de commentaire "long" tout est sur la même ligne, ce qui n'est pas le cas sur le commentaire d'origne.
Merci d'avance pour ce complément d'info.
@+
-----Message d'origine----- Comme ça :
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Address <> "$A$1" Then Exit Sub F = [List].Parent.Name X = Application.[List].Find(zz.Value).Address With zz .ClearComments .AddComment On Error Resume Next .Comment.Text Text:=Sheets(F).Range(X).Comment.Text If Err.Number = 91 Then .ClearComments .Comment.Shape.TextFrame.AutoSize = True End With End Sub
PS : il serait bon d'avoir une liste de validation en A1 pour éviter l'erreur
renvoyée par le "find" si la valeur saisie n'existe pas dans la plage [List]
AV
.
Encore merci pour ta réponse AV
Par contre, il y a t-il un moyen de formater le
commentaire afficher, car en cas de commentaire "long"
tout est sur la même ligne, ce qui n'est pas le cas sur
le commentaire d'origne.
Merci d'avance pour ce complément d'info.
@+
-----Message d'origine-----
Comme ça :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
F = [List].Parent.Name
X = Application.[List].Find(zz.Value).Address
With zz
.ClearComments
.AddComment
On Error Resume Next
.Comment.Text Text:=Sheets(F).Range(X).Comment.Text
If Err.Number = 91 Then .ClearComments
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub
PS : il serait bon d'avoir une liste de validation en A1
pour éviter l'erreur
renvoyée par le "find" si la valeur saisie n'existe pas
dans la plage [List]
Par contre, il y a t-il un moyen de formater le commentaire afficher, car en cas de commentaire "long" tout est sur la même ligne, ce qui n'est pas le cas sur le commentaire d'origne.
Merci d'avance pour ce complément d'info.
@+
-----Message d'origine----- Comme ça :
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Address <> "$A$1" Then Exit Sub F = [List].Parent.Name X = Application.[List].Find(zz.Value).Address With zz .ClearComments .AddComment On Error Resume Next .Comment.Text Text:=Sheets(F).Range(X).Comment.Text If Err.Number = 91 Then .ClearComments .Comment.Shape.TextFrame.AutoSize = True End With End Sub
PS : il serait bon d'avoir une liste de validation en A1 pour éviter l'erreur
renvoyée par le "find" si la valeur saisie n'existe pas dans la plage [List]