Code VBA ! ajuster hauteur de ligne

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

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
 
bonjour anne, le forum

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

Rows("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
 
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
 
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
 
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
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
552
Réponses
3
Affichages
298
Réponses
3
Affichages
582
Retour