formater plusieurs commentaires en même temps

  • Initiateur de la discussion Initiateur de la discussion Jx7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jx7

XLDnaute Nouveau
Bonjour,

J'aimerais pouvoir formater plusieurs commentaires dans la même feuille et en même temps car ils sont beaucoup trop nombreux pour que je le fasse à la main.

Par chance, ils devront tous être identiques (couleur, taille, etc...)

comment faire ça en VBA?

J'ai bien enregistrer une macro pour voir ce que ça donne mais je lis:

Code:
Range("A1").Select
Range("A1").Comment.Text Text:="bla bla bla"
 With Selection
  .HorizontalAlignment = xlLeft
  .VerticalAlignment = xlTop
  .ReadingOrder = xlContext
  .Orientation = xlHorizontal
  .AutoSize = True
 End With

le problème c'est que si j'applique ça à toutes mes cellules, elles auront toutes le même texte et je ne veux pas ça évidemment...

J'ai pensé à :

Code:
Range(MaCellule).Comment.AutoSize = True

mais evidemment ça fonctionne pas... 🙁

j'suis loin d'être un pro mais je comprends vite. C'est sûrement très simple mais j'en ai marre de chercher sans trouver depuis un bon moment...

help! ^^

Merci par avance
 
Re : formater plusieurs commentaires en même temps

Bonjour,

Peut être en essayant un truc du genre (En supposant que les cellules concernées sont A1:A20 :
Code:
For i=1 to 20
With Range("A" & i ).Comment.Text.Font
        .Name = "Tahoma"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 2
    End With
    With Range("K239").Comment.Text
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlTop
        .ReadingOrder = xlContext
        .Orientation = xlHorizontal
        .AutoSize = False
    End With
Next
Cordialement
 
Re : formater plusieurs commentaires en même temps

Merci pour ta réponse 🙂

malheureusement j'ai un méchant message d'erreur à l'exécution.

sur la ligne:
Code:
With Range("A" & i).Comment.Text.Font
et plus particulièrement sur:
Code:
.Text

j'ai:
Code:
Erreur de compilation
Qualificateur incorrect
 
Re : formater plusieurs commentaires en même temps

pour en revenir à mon problème de base: si y'a un moyen de modifier tous les commentaires en même temps je suis preneur aussi 🙂

je pensais que le VBA serait le seul moyen mais peut-être pas...
 
Re : formater plusieurs commentaires en même temps

Re,

Effectivement, mais c'est un détail... Une fois que tu sais comment sélectionner un commentaire, il te suffit de rajouter le code, à partir de l'enregistreur de macro par exemple, pour traiter le format de celui ci.

Or dans les deux fils tu as des méthodes pour sélectionner tous les commentaires que tu veux.

Cordialement
 
Re : formater plusieurs commentaires en même temps

Spitnolan08 à dit:
Re,

Effectivement, mais c'est un détail... Une fois que tu sais comment sélectionner un commentaire, il te suffit de rajouter le code, à partir de l'enregistreur de macro par exemple, pour traiter le format de celui ci.

Or dans les deux fils tu as des méthodes pour sélectionner tous les commentaires que tu veux.

Cordialement
OK,

J'ai finalement eut l'idée de stocker le contenu de mon commentaire avant de le récréer avec mes préférences (taille texte, alignement, etc...)

par contre il m'arrive un truc bizarre...

j'enregistre mon action pour créer une macro qui me donne:

Code:
    Range("A1").Select
    Range("A1").Comment.Text Text:="bla bla"
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlTop
        .ReadingOrder = xlContext
        .Orientation = xlHorizontal
        .AutoSize = True
    End With

mais quand je l'exécute ça bug! 😵

Code:
Erreur d'exécution '438':

Propriété ou méthode non gérée par cet objet

I am peting a cabeul! le simple fait de rejouer ce que je viens d'enregistrer ne fonctionne pas... c'est n'importe quoi... -_-
 
Dernière édition:
Re : formater plusieurs commentaires en même temps

Re,

Malheureusement, je n'ai pas de solution à t'apporter si ce n'est de t'indiquer que c'est la propriété autosize qui n'est pas acceptée par VBA pour cet objet bien que l'enregistreur l'accepte...
Raison ???

Cordialement
 
Re : formater plusieurs commentaires en même temps

Bonjour jx7, Spitnoland

regarde peut être le code ci desous :

Code:
Sub test()
Dim x As Comment
Range("A1").Comment.Delete
Range("A1").AddComment "bla bla"
Set x = Range("A1").Comment
With x.Shape.TextFrame
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlTop
    .Orientation = msoTextOrientationHorizontal
    .ReadingOrder = xlContext
    .AutoSize = True
End With
End Sub

bonne journée
@+
 
Re : formater plusieurs commentaires en même temps

Bonjour à tous

Voici une petite macro issu du site que j'avais adapté pour mettre mes commentaires en police 10 avec mis à l'echelle automatique.
A tester

Sub ModifCommentaires_taille_auto()
'issu de http://dj.joss.free.fr/faq.htm#paramComment
Dim Wksht As Worksheet, C As Comment
For Each Wksht In Worksheets
For Each C In Wksht.Comments
C.Shape.OLEFormat.Object.Font.Size = 10
C.Shape.OLEFormat.Object.AutoSize = True
Next C
Next Wksht
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
680
Réponses
6
Affichages
1 K
Réponses
0
Affichages
1 K
Retour