[déplacé VB.NET -> VBA] VBA-Excel: ajuster hauteur de ligne automatiquement [Résolu]

Messages postés
11
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
7 mai 2010
- - Dernière réponse : tpoinsot
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
- 24 févr. 2010 à 23:07
Bonjour,

je suis sur un petit programme VB sur Excel en amateur que je suis et souhaite que la hauteur de ligne s'ajuste automatiquement. En fait sur ma ligne j'ai 6 cellules fusionnées et cette cellule comporte du texte plus long que la longueur de la cellule 2 fois sur 3. Le retour à la ligne automatique est activé dessus, et j'aimerais que quand ma macro balance du texte dans cette cellule, qu'ensuite la hauteur de ligne s'ajuste.
J'ai essayé ceci:
With Range(Cells(i, 1), Cells(i, 6))
.Rows.Autofit
End With
et aussi ceci:
Range(Cells(i, 1), Cells(i, 6)).Select
Selection.EntiRow.Autofit
mais ces solutions ajuste la hauteur à 12.75 (hauteur par défaut d'Excel).
Quelqu'un aurait une solution à mon pb?
Merci!


"Pour réussir dans la vie, il y a 2 règles à connaître. La première: ne jamais divulguer tout son savoir."
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
1
Merci
Salut,

C'est un vieux problème, en gros, il faut :
- défusionner
- augmenter la cellule à la largeur des cellules fusionnées
- row.autofit
- refusionner
- remettre la largeur initiale de la cellule

et tu mets ça dans le worksheet_change.


thip

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tpoinsot
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Bonjour,

propriété WrapText (à mettre à True).

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
Messages postés
11
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
7 mai 2010
0
Merci
Cette propriété sert à autoriser le renvoi à la ligne dans une cellule, ce n'est pas ce que je cherche à faire, je cherche à ajuster la hauteur de toute la ligne pour que tout le texte d'une cellule soit visible (ce texte dans cette cellule est sur plusieurs ligne car la propriété WrapText est sur True, cad que le renvoi à la ligne automatique est activé).


"Pour réussir dans la vie, il y a 2 règles à connaître. La première: ne jamais divulguer tout son savoir."
Commenter la réponse de thierrylopes
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
J'ai alors des difficultés à comprendre ce que tu veux faire.
Mets-nous ici (en texte) ce que tu as
exemple :
|toto est parti chasser le canard dans le marais près de sa ferme|
et ce que tu veux obtenir
|..............|
[..............|


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
Messages postés
11
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
7 mai 2010
0
Merci
ok je vais essayer d'éclaircir mon pb:
j'ai une feuille excel toute simple avec différentes valeurs ou textes dans différentes cellules;
j'ai sur la ligne i les cellules S à Z qui sont fusionnées (Range(Cells(i, 19), Cells(i, 26)) et le renvoi à la ligne automatique est activé (propriété WrapText = True);
dans cette cellule, j'ai du texte, plus long que la longueur de la cellule, donc renvoyé à la ligne, mais comme la hauteur de ligne est celle d'Excel par défaut, je ne vois que la première ligne de la cellule et ne vois donc pas tout mon texte.
A la main, je prend la hauteur de ligne que j'augmente pour voir tout le texte, mais je voudrai programmer ceci en vba pour que la hauteur de ligne s'ajuste en fonction du texte dans la cellule pour que tout le texte soit visible.

"Pour réussir dans la vie, il y a 2 règles à connaître. La première: ne jamais divulguer tout son savoir."
Commenter la réponse de thierrylopes
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
0
Merci
Un lien pour info.

thip
Commenter la réponse de tpoinsot
Messages postés
11
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
7 mai 2010
0
Merci
ok j'ai pigé la manip, c'esu un peu du bidouillage je trouve ça dommage que les cellules fusionnées soient le problème, mais la solution bidouillée me va pour ce que je veux.
Merci ;-)

"Pour réussir dans la vie, il y a 2 règles à connaître. La première: ne jamais divulguer tout son savoir."
Commenter la réponse de thierrylopes
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
0
Merci
Si tu as suivi le lien chez microsoft, tu sais que tu n'as aucune autre solution que le bidouillage.
C'était déjà comme ça avec XL97, avant je ne sais plus.

thip
Commenter la réponse de tpoinsot
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
0
Merci
et la seconde : bluffer sur le reste.
Commenter la réponse de tpoinsot