Soucis avec longueur du texte dans un bloc texte

Michel_ja

XLDnaute Occasionnel
Bonjour,
j'ai une macro qui envoie le contenu d'une cellule active de la colonne A dans un bloc text que j'appelle ici "Bloc". Je l'enclenche en appuyant sur le petit triangle en haut de la feuille.
Problème, la macro fonctionne lorsque le texte est court comme pour les cellules A9 ou A15 mais ne fonctionne pas pour la cellule A21.
Je suppose que cela est lié à la longueur du texte.
Merci pour votre aide.
 

Pièces jointes

  • MJ Projet.zip
    21.2 KB · Affichages: 27

Michel_ja

XLDnaute Occasionnel
Re : Soucis avec longueur du texte dans un bloc texte

Vlà un cas concret. Par exemple si on passe de la cellule A32 à A26. Il reste un bout de texte dan le bloc !
 

Pièces jointes

  • MJ Test.zip
    16.8 KB · Affichages: 17
  • MJ Test.zip
    16.8 KB · Affichages: 13
  • MJ Test.zip
    16.8 KB · Affichages: 17
G

Guest

Guest
Re : Soucis avec longueur du texte dans un bloc texte

Bonjour,

.Characters.Text ne concerne que les 255 premiers caractères. Donc:

Code:
Sub Macro3()
    Dim Bloc As Shape
    Dim i As Integer
    Dim NouveauTexte As String
    
    NouveauTexte = ActiveCell.Text
   
    With ActiveSheet.Shapes("Bloc").TextFrame
        Do While Len(.Characters.Text) > 0
            .Characters.Text = ""
        Loop
        If Len(ActiveCell.Text) <= 255 Then
            .Characters.Text = NouveauTexte
        Else
            For i = 0 To Int(Len(NouveauTexte) / 255)
                .Characters(.Characters.Count + 1).Insert Mid(NouveauTexte, (i * 255) + 1, 255)
            Next
        End If
    End With
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 224
Messages
2 086 409
Membres
103 201
dernier inscrit
centrale vet