Cellules avec commentaire

Résolu
isaser -  
 isaser -
Bonjour,

J'ai une feuille de calcul Excel avec 950 cellules qui contiennent un commentaire. J'aimerai effectuer une macro afin de les mettre toutes avec la même dimension. Là je l'ai fait pour une cellule active, mais la macro bloque à partir de la ligne :
"Selection.ShapeRange.LockAspectRatio = msoFalse"

En même temps si c'est possible d'avoir une réponse pour une plage de cellule (A1 à A10)



ActiveCell.Select
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:="comptabilite:" & Chr(10) & ""
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Height = 174.75
Selection.ShapeRange.Width = 218.25
Range("A1").Select
End Sub

1 réponse

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Oui le bug vient du fait que pour modifier la mise en forme, vous avez du sélectionner le commentaire. Seulement, l'enregistreur de macro n'a pas pris en compte cette sélection. Je vous livre ce code annoté à placer dans un module :
il permet d'ajouter des commentaires dans la plage de cellules : A2:A100

Sub Ajout_Commentaire()
'déclaration de la variable
Dim i As Integer
'initialisation de la boucle
'ici nous allons boucler sur toutes les lignes
'de la n°2 à la n°100
For i = 2 To 100
'efface un éventuel commentaire pour éviter un bug de la macro
Cells(i, 1).ClearComments

'Cells(i, 1) signifie : cellule(ligne i, 1ère colonne)
'si vous souhaitez boucler sur la colonne C il faut
'remplacer tous les Cells(i, 1) par : Cells(i, 3)

'ajoute un commentaire
Cells(i, 1).AddComment
'masque le commentaire
Cells(i, 1).Comment.Visible = False
'inscrit comptabilité et passe à la ligne dans le commentaire
Cells(i, 1).Comment.Text Text:="comptabilite:" & Chr(10) & ""
'Avec ce commentaire (évite de le sélectionner)
With Cells(i, 1).Comment.Shape
'ici on place tout ce qui permet de mettre en forme le comment
.LockAspectRatio = msoFalse
.Height = 174.75
.Width = 218.25
End With
'ligne suivante
Next i
End Sub
0
isaser
 
Merci beaucoup ça fonctionne, super !!!
0