Hauteur auto cellule fusionnée / Retour à la ligne automatique

[Fermé]
Signaler
Messages postés
122
Date d'inscription
samedi 8 janvier 2011
Statut
Membre
Dernière intervention
15 décembre 2020
-
Messages postés
17602
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 octobre 2021
-
Bonjour à tous,

Je travaille actuellement une mise en page sous excel... pas la meilleur idée penserez-vous, mais c'est mon boulot qui me l'impose.

Je travail dans l'affichage "Mise en page" pour faciliter la visualisation.

J'aimerais, lorsque je fusionne plusieurs cellule (horizontalement), pouvoir adapter la hauteur de la cellule aux textes (en cliquant entre les deux lignes à gauche) cependant, lorsque j'utilise cette méthode, la cellule se réduit de manière fixe (que j'ai trois ligne, une, ou dix).

Que puis-je faire ?

- j'aimerai en effet que ces cellules fusionnées (sur la largeur de ma page) puisse s'adapter (en hauteur) à leur contenu.
- j'aimerai (encore mieux) ne PAS FUSIONNER, mais demander au texte de passer systématiquement à la ligne quand nous sommes à la marge (de la page)... mais je ne trouve pas comment faire.

Merci d'avance !



A voir également:

7 réponses

Messages postés
17602
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 octobre 2021
4 787
Re,

effectivement on ne sait plus sur quel pied danser entre la hauteur de ligne, les retours lignes le nombre de colonnes etc ...
si tu connais un peu le VBA, clic droit sur l'onglet de ta feuille concernée et colle ce code dans le Visual Basic qui renverra automatiquement ton texte à la ligne et adaptera la hauteur de tes lignes en fonction du nombre de cellules fusionnées

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each cel In ActiveSheet.UsedRange
If cel <> "" Then
Set M = cel.MergeArea
M.UnMerge
M.WrapText = True 'renvoie à la ligne
M.HorizontalAlignment = xlCenterAcrossSelection
M.Rows.AutoFit
M.Merge
M.HorizontalAlignment = xlGeneral 'facultatif bien sûr
End If
Next
End Sub


A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
Merci

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

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
17602
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 octobre 2021
4 787
Re,

comme je t'ai dit, difficile avec des cellule fusionnées même en VBA
ce qui est facile est de prédéfinir une hauteur de cellule
Messages postés
122
Date d'inscription
samedi 8 janvier 2011
Statut
Membre
Dernière intervention
15 décembre 2020
39
J'aimerais en effet éviter les cellules fusionnées (je trouve que ça ne marche jamais des masses).
Mais par contre, quand je tape un texte long dans la première cellule, il déborde jusque dans la page droite, ce que j'aimerais éviter.

J'essaie de voir ce que je peux faire avec ton code, mais j'en ai aucune idée :-/
J'ai bien ajouté le ruban Développeur, mais après :-s

Lors de la frappe...résultat voulu!


Lorsque la frappe est finie... résultat décevant ^^

Sébastien.
Messages postés
122
Date d'inscription
samedi 8 janvier 2011
Statut
Membre
Dernière intervention
15 décembre 2020
39
UP ? :)
Merci
Messages postés
24204
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 octobre 2021
6 937
Bonjour,

Met la colonne B à la largeur voulue puis sélectionne-la et dans 'format de cellule / Alignement' coche 'Renvoyer à la ligne automatiquement'.
Si tu ne veux pas qu'un texte de plusieurs lignes se repartisse dans plusieurs cellule lors du collé, il faut le coller dans la zone d'édition des formules et non directement sur la feuille.
eric

Messages postés
122
Date d'inscription
samedi 8 janvier 2011
Statut
Membre
Dernière intervention
15 décembre 2020
39
Merci pour ta réponse.
Mais l'exemple repris dans mes dernières images est très simplifié. Si tu vois ma première image, tu verras que malheureusement, on doit garder toutes les colonnes pour pouvoir rédiger le rapport.
J'avais donc "fusionné" les cellules sur la largeur souhaitée. Mais là, impossible d'ajuster, et impossible d'avoir une hauteur de cellule adaptée au texte :(
Messages postés
122
Date d'inscription
samedi 8 janvier 2011
Statut
Membre
Dernière intervention
15 décembre 2020
39
Je crois que j'ai eu réponse à ma question :
https://support.microsoft.com/fr-fr/help/212010/you-cannot-use-the-autofit-feature-for-rows-or-columns-that-contain-me

Alors, je reviens à la question précédente :
Comment, faire en sorte pour limiter mon texte à la largeur de la page, sachant que ce texte devra "passer au-dessus de plusieurs cellules" ?
Soit mes deux dernières images MAIS sans devoir ajuster une seule cellule à la largeur de la page.


Merci d'avance.
Messages postés
24204
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 octobre 2021
6 937
'Renvoyer à la ligne automatiquement'
Messages postés
122
Date d'inscription
samedi 8 janvier 2011
Statut
Membre
Dernière intervention
15 décembre 2020
39
Désolé, cela ne répond pas à ma requête. "Renvoyer à la ligne automatiquement" renvoie le texte automatiquement dans la cellule où j'ai entré mon texte. Or, j'aimerais que mon texte soit renvoyé à la ligne par rapport à la largeur de ma page, et donc de passer à travers plusieurs cellule avant d'être renvoyé à la ligne.

J'ai l'impression de ne pas être assez clair. Avez vous besoin d'autres informations?
Messages postés
24204
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 octobre 2021
6 937
Oui, tu es plein de contradictions.
Au début tu dis : j'aimerai (encore mieux) ne PAS FUSIONNER
Je t'explique comment faire ce à quoi tu réponds : on doit garder toutes les colonnes pour pouvoir rédiger le rapport.
J'avais donc "fusionné" les cellules sur la largeur souhaitée

Donc fait 'Renvoyer à la ligne automatiquement' sur tes fusions.
Messages postés
17602
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 octobre 2021
4 787
Bonsoir,

le problème vient de tes cellules fusionnées qui font mauvais ménage avec les formules comme les codes VBA
si tu te contentes de simple cellule, ce code renverra automatiquement à la ligne ton texte et ajustera la hauteur de ligne placé colonne A

For i = 2 To 10
Cells(i, 1).WrapText = True
Cells(i, 1).EntireRow.AutoFit
Next i
Messages postés
122
Date d'inscription
samedi 8 janvier 2011
Statut
Membre
Dernière intervention
15 décembre 2020
39
Merci pour ta réponse !

Cependant, la question du boulet va suivre :
Comment dois-je utiliser ton "code"?

J'aimerais en effet entrer mon texte dans la cellule colonne B et qu'il puisse "déborder" jusqu'à la Q (dans mon exemple). Parce qu'alors, la ligne s'adapte automatiquement à mon texte dans cette cellule.

Fusionner est-il la meilleure solution ?