Editer automatiquement des commentaires de cellules sous excel

cs_Pastador Messages postés 2 Date d'inscription jeudi 9 septembre 2010 Statut Membre Dernière intervention 10 septembre 2010 - 9 sept. 2010 à 22:53
cs_Pastador Messages postés 2 Date d'inscription jeudi 9 septembre 2010 Statut Membre Dernière intervention 10 septembre 2010 - 10 sept. 2010 à 18:25
Bonjour à tous,

j' espère être au bon endroit dans ce forum pour présenter mon petit problème.

Je n' y connais pas grand chose en visual basic, je fais juste quelques enregistrements de macros et je tente ensuite de les bidouiller pour les améliorer.

Voilà mon problème: sous excel, je cherche à éditer automatiquement les commentaires de plusieurs cellules en fonction d' une série d' autres cellules: exemple, que le commentaire de la cellule A1 reprenne les données de la cellule B1 à E1, A2 pour B2 à E2, etc...

j' arrive à le faire pour UNE cellule:

Sub Macro2()
' test modifier commentaire
Range("A1").Select
Range("$A$1").Comment.Text Text:= Cells(1, 2).Value & Chr(10) & Cells(1, 3).Value & Chr(10) & Cells(1, 4).Value

End Sub

mais je suis incapable de le faire pour plus d' une:

Sub Macro1()
' test commentaire

For i = 7 To 30
Cells(i, 1).Activate

a = ActiveCell.Address

MsgBox a
Range(a).Select

Range(a).Comment.Text Text:= Cells(i, 2).Value

Next i

cela renvoie une "erreur 91 - variable objet ou de bloc With non définie" .

pourtant "a" prend bien la valeur "$A$7" ? mais n' est pas reconnu par la fonction "range" ?? comment définir "a" ? ou alors c' est un autre problème ?

merci pour votre aide !

2 réponses

c148270 Messages postés 303 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 3 octobre 2013 1
10 sept. 2010 à 02:43
Bonjour

Ceci doit fonctionner

Sub Macro1()
For i = 7 To 30
Cells(i, 1).ClearComments
Cells(i, 1).AddComment
Cells(i, 1).Comment.Visible = False
Cells(i, 1).Comment.Text Text:=Cells(i, 2).Value
Next i
End Sub

bonne journée
0
cs_Pastador Messages postés 2 Date d'inscription jeudi 9 septembre 2010 Statut Membre Dernière intervention 10 septembre 2010
10 sept. 2010 à 18:25
bonjour,

merci beaucoup !

j' avais fini par trouver un truc qui fonctionnait à moitié

For i = 5 To 40

    Cells(i, 1).Activate
    Cells(i, 1).ClearComments
    
            
  a = ActiveCell.Address
 
     
  Range(a).Select
       
    With Worksheets(1).Range(a).AddComment
        .Visible = False
        .Text Cells(i, 2).Value & Chr(10) & Cells(i, 3).Value & Chr(10) & Cells(i, 4).Value
        
    End With
0
Rejoignez-nous