Insertion texte dans forme automatique

  • Initiateur de la discussion Initiateur de la discussion dONut
  • 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 !

dONut

XLDnaute Nouveau
Bonjour tout le monde,

voilà mon problème : je récupère un commentaire à partir d'une base de données que j'insére en commentaire sur la cellule A1 par exemple.
Je souhaiterais créer via un boutton une forme automatique (une bulle) contenant le commentaire de la cellule A1.

Jusque là pas de problème, cependant lorsque ce commentaire est trop long, la bulle est juste créée sans le commentaire (alors que si je fais un simple copier/coller du texte dans la bulle, le texte est bien pris).

La taille de la bulle n'a rien à voir avec ce problème, elle est automatiquement calculée pour s'adapter à la longueur du texte.

Code:
With ActiveSheet.Shapes.AddShape(msoShapeRectangularCallout, 600, 500, 200, 200)
      .TextFrame.Characters.Text = Commentaire
End With

Si vous avez des idées pour régler ou contourner ce problème, merci d'avance !

Cdlt
 
Re : Insertion texte dans forme automatique

Bonjour donut,

on dirait bien que les bulles sont limitées à 255 caractères...

Edit : ah ben non, ce sont les "insertions" qui semblent limitées à 255 caractères

peut-être comme ça :

Code:
Sub test()
commentaire = "Coucou" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10) & "abcdefghijklmnopqrstuvwxyz" & Chr(10)
MsgBox Len(commentaire)
With ActiveSheet.Shapes.AddShape(msoShapeRectangularCallout, 600, 500, 200, 200)
      For i = 1 To (Len(commentaire) \ 200) + 1
      .TextFrame.Characters(1 + (i - 1) * 200).Insert String:=Mid(commentaire, 1 + (i - 1) * 200, 200)
      Next i
End With
End Sub
 
Dernière édition:
Re : Insertion texte dans forme automatique

Bonjour tototiti2008,

je vous remerci, votre solution marche parfaitement !

Quelle drôle d'idée de limiter l'insertion à 255 caractères alors que la bulle peut en recevoir plus ...

Je vous souhaite une bonne journée.

Cdlt
 
- 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

Retour