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

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
    1. isaser
       
      Merci beaucoup ça fonctionne, super !!!
      0