Code VBA ! ajuster hauteur de ligne

A

Anne

Guest
Bonjour à tous ....

Voici mon problème, je suis à faire un développement sour Excel VBA, et j'aurais besoin du code permettant d'ajuster la hauteur d'une ligne sachant qu'à l'aide de VBA, je rempli de texte (qui peut être long) des cellules fusionnées dans lesquelles j'ai activé l'option renvoi à la ligne automatique.

Merci d'avance de vos réponses

Anne
 
A

aurelie

Guest
bonjour anne, le forum

Si tu veux ajuster ta ligne automatiquement tu peux utiliser le code suivant:

Rows("D:D").EntireColumn.AutoFit

Par contre si tu veux toi même choisir la largeur de ta ligne tu fais

Rows("12:12").RowHeight = 22.5
(ligne 12, largeur de 22.5)

et pour la colonne..

Columns("B:B").ColumnWidth = 15.29

En espérant t'avoir renseigné
@ +
Aurélie
 
A

aurelie

Guest
désolé Anne
mais je ne sais pas comment on peut faire pour les cellules fusionnées

A part réduire la taille de la police en fonction de la taille de la cellule fusionnée

j'espere que qq'un de plus performant que moi pourra t'aider
@ +
aurelie
 
J

Jon

Guest
bonjour

soit tu ne fusionnes pas mais plutôt tu centres sur plusieurs colonnes
soit tu utilises la macro de Jim Rech proposée par Frédéric sur le fil de discussion suivant
<http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&frame=right&th=b70d1d8c6269cae7&seekm=3E52B84D.81F195B%40wanadoo.fr#link2>

bye
 

tloubadoul

XLDnaute Nouveau
Re : Code VBA ! ajuster hauteur de ligne

Désolé, mais la commande "autofit" qui permet d'ajuster la largeur/hauteur de ligne ne permet pas de répondre à ton problème.
En voici la cause : Excel gère séparément l'option "aller à la ligne automatiquement" et "ajuster la cellule".
Si bien que tu dois choisir entre l'un et l'autre.
Maintenant si tu souhaites que la largeur de ta cellule soit fixée à "x" et que la hauteur de ligne soit ajustée automatiquement en fonction du nombre de lignes, une petite astuce pourrait ressembler à ça :

nb_lignes = len(contenucellule)/40 '40=le nombre maxi de caractères par lignes, à définir
Rows("12:12").RowHeight = 12.75*nb_lignes 'en police taille 10 (par défaut) 12.75 c'est la hauteur de ligne automatique)

Sinon, tu peux également faire ton propre code pour aller à la ligne automatiquement en utilisant la même forme et puis la commande "Chr(10)" qui permet d'aller à la ligne. Ensuite tu fixes une largeur de colonne.

ex : ce code permet d'aller à la ligne tous les n caractères (pour garder les mots en entier c'est à peine plus compliqué) puis d'ajuster la hauteur de ligne à ta case

For i = 0 to int(len(tontexte)/n)+1 'n=nombre de caractères maxi par ligne dans ta case
Cells(1,1).value = Cells(1,1).value & Mid(tontexte, n*i, n) & Chr(10)
Cells(1,1).RowHeight = 12.75*i
Next


J'espère avoir répondu à ta question
 

Discussions similaires

Réponses
2
Affichages
110
Réponses
7
Affichages
320

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi