Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

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

bertrand19

XLDnaute Nouveau
Bonjour,

je réalise un questionnaire sur excel....
pour des soucis de mise en forme, j'ai du fusionner des cellules de manières à ce que l'ensemble forme un cadre de réponse.
Problème: puisque les cellules sont fusionnées, si l'on tape du texte à l'intérieur, la taille de la ligne ne s'ajuste plus....

J'ai cherché sur le forum mais beaucoup parle de VBA! Language sur lequel j'ai quelques notions mais très limité...

Est ce le seul moyen??? Ou existe simplement un truc qui permet de rendre ces cadres ajustables quand les personnes répondront dedans!

Un grand merci à celui qui pourra me répondre

Bertrand 19
 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

Bonjour,

j'ai aussi eu un problème de mise en forme avec des cellules fusionnées et le seul moyen est à la main ou avec un code VBA... 🙁

A +
 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

Bonjour,

As-tu vraiment besoin de cellules fusionnées ? Souvent les gens les utilisent pour avoir un libellé et un cadre qui s'étend sur plusieurs colonnes en largeur.
Et aussi parce que c'est une option par défaut à l'install d'excel.
On peut réaliser la même chose avec un simple format :
1. Taper le titre dans la cellule la plus à gauche
2. Sélectionner la plage de cellules avec plusieurs colonnes où le titre doit s'étendre
3. Faire Format / Cellule / Alignement et dans "Horizontal" choisir "Centré sur plusieurs colonnes
4. En conservant la sélection, mettre un cadre (si nécessaire) par Format / Cellule / Bordure

A+
 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

Merci Wazzebu pour ta réponse...

Quant à toi, Tango, ta réponse me semble très intéressante...
Je la retiens pour une prochaine fois....
Mais ce coup ci, sous mes cadres de réponses j'ai des tableaux donc mes colonnes me sont nécessaires....

Et je peux pas mettre les tableaux sur une autre feuille pour la cohérence du document.


C'est pas ce qu'il me faut mais je pense que j'ai appris une astuce qui me sera utile plus tard 😉

Merci encore
 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

Les amis!

deux personnes m'ont trouvé deux solutions différentes.

Pour info, pour les personnes qui liront ce message plus tard, il faut copier la macro directement dans l'éditeur VBA dans les cadres des "feuill1", "feuill2"...

La première ne demande aucune modification! Néanmoins, l'ajustement n'est pas très précis. On fait, les lignes sont beaucoup plus hautes que nécessaire!
Mais le texte des cellules fusionnées apparait ce qui est le prinicpal objectif.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
' Test la cellule ou à été fait la modif
If Target.MergeCells Then
With Target.MergeArea
.WrapText = True 'enclenche le renvoi à la ligne automatique (modif fs)
If .Rows.Count = 1 Then 'And .WrapText = True Then
Application.ScreenUpdating = False
CurrentRowHeight = .RowHeight
ActiveCellWidth = Target.ColumnWidth
For Each CurrCell In Selection
MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, _
CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
End Sub


La deuxième macro (que je n'ai pas encore essayé) ajuste les lignes en fonction du nombre de caractères écrits dans les cellules fusionnées.

Pour cette macro, dès qu'il y a plus de 35 caractères sur la même ligne, la macro en crée une deuxième automatiquement.
Attention, pour vos tableaux, il faut peut être réadapté le 35. Si vos cellules sont fusionnées sur 7 colonnes, le nombre de caractères qui remplissent la ligne peut être de 200. Donc, il faut modifier les "35" dans la macro par des "200".
A l'inverse, si vos cellules sont fusionnées sur 2 colonnes, il se peut qu'une ligne ne puisse contenir que 20 caractère.
Il faut donc remplacer les "35" par des "20"

Option Explicit



Private Sub Worksheet_Change(ByVal Target As Range)

' Test la cellule ou à été fait la modif

If Target.MergeCells Then

With Target.MergeArea

.WrapText = True 'enclenche le renvoi à la ligne automatique (modif fs)

If .Rows.Count = 1 Then

Application.ScreenUpdating = False

If Round(Len(Target.Value) / 35, 0) < 1 Then

.RowHeight = 15 'Hauteur de ligne standard

Else

.RowHeight = 15 * (Round(Len(Target.Value) / 35, 0)) 'Modifier le dénominateur pour régler le nb de caractères par ligne

End If

End If

End With

End If

End Sub



'PARAMETRES

'hauteur de ligne standard = 15

'nb de caractères approximatifs par ligne = 35

'taille de la police = 10


Merci au forum pour le coup de pouce...
 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

Bonjour

Cette macro est intéressante mais j'aimerais quelle ne s'applique pas pour toute la feuille mais seulement pour une partie de la feuille. En l'occurrence la colonne 20 (T).
Est-il possible de la modifier ?

Merci

 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

bonsoir Nak,

il te suffit d'ajouter la partie ne rouge dans ton code
Code:
If Target.MergeCells [COLOR="Red"]And Target.Column=20 [/COLOR]Then

A+
 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

Bonjour

Il y a un petit bug dans cette macro. Lorsque je veux supprimer le texte dans une cellule fusionnée en utilisant la touche supprime cela plante la macro...

Y a t-il une solution pour contourner le problème ?

Merci
 
Re : Comment Faire Renvoyer A Ligne Du Texte Dans Des Cellules Fusionner

Ajoute ceci dans la condition:

Code:
If Target.MergeCells And Target.Column = 20 And [COLOR=Blue][B]Target(1).Value <> ""[/B][/COLOR] Then
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…