ajustement auto d'une ligne avec colonnes fusionnées

JFbeca025

XLDnaute Nouveau
Bonjour,

Voila mon petit soucis sur excel.

sur une ligne, j'ai fusionné 3 colones.

Lorsque j'écris une longue phrase dans la cellule fusionner, celle-ci n'est pas apparente en totalité (hauteur de ligne insuffisante).

Je suis obligé de selectionner la ligne (case grisé a gauche et faire double clic) pour l'ajuster.

J'aimerai réaliser par le biais d'une macro l'ajustement automatique de toute les lignes en fonction de la longueur de la phrase .

d'avance merci
 

Gorfael

XLDnaute Barbatruc
Re : ajustement auto d'une ligne avec colonnes fusionnées

Bonjour,

Voila mon petit soucis sur excel.

sur une ligne, j'ai fusionné 3 colones.

Lorsque j'écris une longue phrase dans la cellule fusionner, celle-ci n'est pas apparente en totalité (hauteur de ligne insuffisante).

Je suis obligé de selectionner la ligne (case grisé a gauche et faire double clic) pour l'ajuster.

J'aimerai réaliser par le biais d'une macro l'ajustement automatique de toute les lignes en fonction de la longueur de la phrase .

d'avance merci
Salut
déjà résolu un problème de ce type, avec une macro WorkSheet_Change qui :
- ajuste une colonne à droite des donnée de largeur égale à la somme des largeurs des 3 colonnes fusionnées,
- colle le contenu de la cellule fusionnée sur la cellule de la colonne
- fait un ajustement automatique de la ligne
- fige la hauteur de la ligne,
- supprime la colonne créée.
A+
 

Cousinhub

XLDnaute Barbatruc
Re : ajustement auto d'une ligne avec colonnes fusionnées

Bonjour JF, Gorfael (j'ai eu la même idée que toi!)

Sub ajust()
Application.ScreenUpdating = False
aa = ActiveCell.Address
x = Columns(ActiveCell.Column).ColumnWidth
y = Columns(ActiveCell.Offset(0, 1).Column).ColumnWidth
z = Columns(ActiveCell.Offset(0, 2).Column).ColumnWidth

ActiveCell.Copy
Range("IV" & ActiveCell.Row).Select
Selection.PasteSpecial Paste:=xlPasteValues
With Selection
.WrapText = True
End With
Columns("IV:IV").ColumnWidth = x + y + z
Rows(ActiveCell.Row).EntireRow.AutoFit
t = Rows(ActiveCell.Row).Height
Columns("IV:IV").Delete Shift:=xlToLeft
Rows(ActiveCell.Row).RowHeight = t
Range(aa).Select
Application.ScreenUpdating = True
End Sub
 

Gorfael

XLDnaute Barbatruc
Re : ajustement auto d'une ligne avec colonnes fusionnées

Merci GORFAEL d'avoir répondu aussi rapidement.

peut tu m'envoyer la macro SVP.

D'avance merci
Salut
Non, je peux pas t'envoyer de macro, par ce que je n'ai aucune infos pour la constituer.
Donne :
- les colonnes fusionnées, et la ligne à partir de laquelle on commence à jouer.
- ton niveau en VBA ? Faut tout expliquer, où tu connais les modules de classe liés aux feuilles ?
A+
 

JFbeca025

XLDnaute Nouveau
Re : ajustement auto d'une ligne avec colonnes fusionnées

Merci a Gorfael et a Bhbh d'avoir répondu.

Gorfael, je joint le fichier excel afin que tu puisses constituer une macro.


Petite remarque, j'aimerai que cette macro ajuste automatiquement de la ligne 6 a 70 en auto en faisant un clic avec un bouton sur le coté droit.

J'essais par mes propres moyens de réaliser du VBA (simple) pour le moment.

Si tu as le temps tu peut m'expliquer . Mais cela ne doit pas de monopoliser.


Encore une fois merci de ton aide.
 

Pièces jointes

  • ajustement auto.xls
    19 KB · Affichages: 208
  • ajustement auto.xls
    19 KB · Affichages: 197
  • ajustement auto.xls
    19 KB · Affichages: 195

Cousinhub

XLDnaute Barbatruc
Re : ajustement auto d'une ligne avec colonnes fusionnées

Bonsoir, as-tu regardé mon code?
C'est exactement la solution proposée par Gorfael, il te suffit de l'insérer dans un module de VBE (Alt + F11).
regarde le fichier joint, tu cliques sur la cellule fusionnée que tu veux mettre en hauteur adaptée, et tu cliques sur le ballon de rugby, en haut.
 

Pièces jointes

  • ajustement auto.xls
    29 KB · Affichages: 224
  • ajustement auto.xls
    29 KB · Affichages: 227
  • ajustement auto.xls
    29 KB · Affichages: 252

Gorfael

XLDnaute Barbatruc
Re : ajustement auto d'une ligne avec colonnes fusionnées

Merci a Gorfael et a Bhbh d'avoir répondu.

Gorfael, je joint le fichier excel afin que tu puisses constituer une macro.


Petite remarque, j'aimerai que cette macro ajuste automatiquement de la ligne 6 a 70 en auto en faisant un clic avec un bouton sur le coté droit.

J'essais par mes propres moyens de réaliser du VBA (simple) pour le moment.

Si tu as le temps tu peut m'expliquer . Mais cela ne doit pas de monopoliser.


Encore une fois merci de ton aide.
Salut
Macro automatique WorkSheet_Change
Clic-droit sur l'onglet>>Menu contextuel>>Visualiser le code

Comme la macro agit sur les hateurs de lignes et largeurs de colonnes, on bloque le raffraîchissement écran.
Comme on bloque le raffraîchissement écran, on gére les erreurs
Comme on gère les erreurs, on relance le rafraîchissement écran avant de sortir, mais comme on modifie la feuille pendant la macro, on relance avant la sortie de la première occrence de workSheet_Change, une 2me occurence qui remet en route le rafraîchissement écran.
Pour éviter ça, on bloque tout lancement de macro évènements pendant l'action de la macro.

Si tu veux suivre le code en pas-à-pas, tu mets un point d'arrêt sur la ligne de titre de la macro, et tu exécutes ligne par ligne avec la touche F8

ce que fait la macro :
elle regarde si la modif concerne une/des cellules de la colonne B
si non, on sort par l'adresse Sort_
si oui, on définit la plage de travail comme étant toutes les cellules de B qui ont été modifiées
Pour chacune de ces cellules, on calcule la largeur de la cellule fusionnée et on ajuste la largeur de la colonne Q à cette valeur
on copie la valeur de B en Q
on met la coche "retour à la ligne automatique" de l'alignement du format de cellule pour la cellule Q
on fait un ajustement automatique de la ligne de la cellule en cours
on fige la hauteur de ligne
on supprime la colonne Q

Avantage : tu ne t'occupes de rien, ça ressemble à un ajustement automatique de la ligne avec une seule cellule

Inconvénients :
- ça ressemble à un ajustement automatique, mais ce n'en est pas : comme jla macro ne gère que la fusion commençant en B, si le texte d'une autre cellule dépasse la hauteur de B, il sera en partie masqué.
Mais comme le reste est fait de nombre, c'est peu probable
- La macro ne gère pas les fusions de lignes
- la macro ne se lancera pas en cas de changement de format (police).
Il faudra passer la cellule en mode édition (double-clic ou F2) et valider pour que la taille s'ajuste

Si questions, ne pas hésiter

A+
 

Pièces jointes

  • ajustement auto Mod.xls
    32.5 KB · Affichages: 223

JFbeca025

XLDnaute Nouveau
Re : ajustement auto d'une ligne avec colonnes fusionnées

Merci encore Gorfael et a Bhbh d'avoir solutionné mon probléme par vos explications.

j'ai regarder les 2 macros proposées, l'une, il faut selectionner la ligne pour ajuster, l'autre ce fait en auto.

j'ai pris celle de Gorfael, que j'ai inserer dans mon fichier.
Sa marche trés bien. Mais il y a un mais.

J'ai 2 boutons pour insérer des lignes vierges (1 ligne Titre et 1 ligne texte) sur une ligne données (je donne le numéro sur l'aquelle je veux insérer la nouvelle ligne vierge).

Si je donne le N° du ligne dont la hauteur de ligne a déjà était modifier cette nouvelle ligne garde la hauteur de l'ancienne et la ligne longue se retrouve en dessous sans se remettre a hauteur automatique.

Mes explications ne sont peut etre pas claire mais je joint le fichier pour comprendre
Inserer une ligne en ligne 25 et tu verras le probléme.

Encore une petite chose. je voudrais également valider les 2 boutons Inserer ligne) sur un click (selection Valider), mais aussi sur Entrée (sur clavier).

Merci les pros
 

Pièces jointes

  • AJUSTEMENT 2.zip
    38.1 KB · Affichages: 122

Gael

XLDnaute Barbatruc
Re : ajustement auto d'une ligne avec colonnes fusionnées

Bonjour à tous,

2 solutions simples possibles:

* Supprimer la fusion de cellules et la remplacer par un "Centré sur plusieurs colonnes avec retour ligne automatique.

* Créer sur la même ligne dans un coin inutilisé une cellule de même taille que la cellule fusionnée (ou centrée sur plusieurs colonnes avec la même taille) avec retour ligne automatique et mettre comme formule =C3 (si par exemple C3 est la cellule fusionnée). La hauteur de ligne se reglera automatiquement avec la cellule distante en fonction du contenu de la cellule fusionnée.

@+

Gael
 

kyokosam

XLDnaute Nouveau
Re : ajustement auto d'une ligne avec colonnes fusionnées

Bonsoir

Je rencontre le meme soucis pour ajuster en hauteur mes lignes (1 cellule fusionnée de 6 colonnes). Malheureusement, je ne connais rien aux differents langages que vous utilisez.
Quelqu'un peut il tout de meme m'aider ?

Merci d'avance pour toute l'aide que vous pourrez m'apporter
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2