Problème de retour à la ligne pour un texte trop long

Bonjour à tous,

Je suis en train de concevoir un programme en VBA en lien avec des travaux de rénovation : en gros dans la première colonne, il y a écrit, par exemple, "peinture"; dans la cellule juste à droite, la surface, puis, à côté, le prix unitaire etc ... Le problème que j'ai est que, parfois le texte est trop long (il peux faire 6-7 mots, voire une quinzaine de mots) et j'ai fait en sorte qu'il s'écrive donc sur plusieurs lignes en utilisant les deux propriétés suivantes : "WrapText=True" et "Rows.Autofit". Mais, lorsque j'éxécute le programme, cela génère automatique un espèce de grand saut de ligne, un grand espace. Manuellement, en double cliquant sur la cellule, ça part, mais j'aimerai bien trouver une solution pour régler ce problème dans le code. !

capture d ecran 2023 06 16 a 14 52 02

Je vous ai joint une photo du rendu lorsque j'exécute le code.

Merci d'avance de votre aide et en espérant avoir été clair !

Bonjour,

Poste le code qui écrit cette ligne et quel est exactement le texte à placer dans cette cellule ?

Daniel

Mon code en entier est vraiment long mais voici les lignes qui concernent ce texte :

Set destinationCell = wsDestination.Cells(wsDestination.Rows.Count, 1).End(xlUp).Offset(1, 0)

wsDestination.Range(destinationCell.Address).Value = "Frais d'installation de chantier, raccordement divers et mise en place. Replis du matériel en fin de chantier."
wsDestination.Range(destinationCell.Address).WrapText = True
wsDestination.Range(destinationCell.Address).Rows.AutoFit

bonjour camnour, ".Rows.AutoFit" ??? je ne le connais pas

     With ActiveCell
          .Value = "Frais d'installation de chantier," & vbLf & "raccordement divers et mise en place." & vbLf & "Replis du matériel en fin de chantier."     'texte avec retours à la lignes
          .WrapText = True
          .EntireColumn.ColumnWidth = 150 'colonne assez large
          .EntireRow.AutoFit
          .EntireColumn.AutoFit
     End With

mais cela ralentit la macro, alors, si c'est dans un boucle, je ne ferais ça qu'une fois à la fin du boucle

Bonjour,

Une petite macro à titre d'exemple :

Option Explicit

Sub Macro1()
    Dim texte As String

    texte = "Frais d'installation de chantier, raccordement divers et mise en place. Repli du matériel en fin de chantier."
    Columns(1).WrapText = True
    Columns(1).AutoFit
    Range("A1") = texte

End Sub

ça marche! merci de votre aide, je ne connaissais pas ces instructions qui sont très utiles.

Rechercher des sujets similaires à "probleme retour ligne texte trop long"