NaturalBio
XLDnaute Nouveau
Bonjour à tous,
Mes notions sont assez limitées en VBA, j'arrive à récupérer des bouts de code pour essayer de l'adapter selon mes besoins mais là je bloque et j'espère surtout que vous me "comprendrez" si la solution vous semble tellement évidente.
J'essaye d'utiliser une macro qui automatise la création de commentaires dans la cellule active avec une mise en forme spécifique.
Je pensais avoir réglé mon PB mais le soucis est que lorsque je lance la macro, ça crée bien le commentaire avec sa mise en forme dans la cellule active mais ça applique la même mise en forme automatiquement sur tous les autres commentaires préalablement crées Or c'est ce que je ne veux pas. Evidemment je pense que le code crée une boucle (avec la commande "for each ?"). Qu'est-ce qui pourrait remplacer cette commande pour qu'il applique le code uniquement dans la cellule sans faire la boucle dans mon classeur.
Merci à vous
Code:
Mes notions sont assez limitées en VBA, j'arrive à récupérer des bouts de code pour essayer de l'adapter selon mes besoins mais là je bloque et j'espère surtout que vous me "comprendrez" si la solution vous semble tellement évidente.
J'essaye d'utiliser une macro qui automatise la création de commentaires dans la cellule active avec une mise en forme spécifique.
Je pensais avoir réglé mon PB mais le soucis est que lorsque je lance la macro, ça crée bien le commentaire avec sa mise en forme dans la cellule active mais ça applique la même mise en forme automatiquement sur tous les autres commentaires préalablement crées Or c'est ce que je ne veux pas. Evidemment je pense que le code crée une boucle (avec la commande "for each ?"). Qu'est-ce qui pourrait remplacer cette commande pour qu'il applique le code uniquement dans la cellule sans faire la boucle dans mon classeur.
Merci à vous
Code:
Code:
Sub CreaCommentaire()
On Error Resume Next
ActiveCell.Comment.Delete
With ActiveCell.AddComment
.Shape.Placement = xlFreeFloating
.Shape.TextFrame.AutoSize = True
.Text Text:="Exemple" & vbCrLf & "CECI EST MON TEXTE"
For Each c In ActiveSheet.Comments
c.Shape.Width = 1188
c.Shape.Height = 130
c.Visible = True
c.Shape.AutoShapeType = msoShapeRoundedRectangle
c.Shape.Fill.ForeColor.RGB = RGB(248, 202, 110)
Next c
For Each i In ActiveSheet.Comments
i.Shape.OLEFormat.Object.Font.Name = "Tahoma"
i.Shape.OLEFormat.Object.Font.Size = 45
i.Shape.TextFrame.Characters(Start:=28, Length:=40).Font.Size = 45
Selection.Comment.Shape.Select
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
Next i
End With
End Sub
Dernière modification par un modérateur: