Ajuster automatiquement la hauteur

Thierry104 -  
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un petit problème pour lequel j'ai besoin de vous.

J'aimerai que la hauteur des cellules fusionnées UNIQUEMENT de A42 à L100. Le code ci-dessus marche mais pour toutes les cellules et non pour celles qui sont fusionnées uniquement et cela crée un confli lorsqu'une cellule non fusionnées contient du texte.

Pourriez-vous m'aider svp

Sub AjusteEnHauteur()
For Each cel In ActiveSheet.Range("A42:L100")
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

5 réponses

Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut,

Rapidement, regarde si c'est ce que tu cherches et on revoit le code

Sub AjusteCellulesFusionnees()
Dim cell As Range
Dim Maplage As Range
Set Maplage = Range("A42:l100")
With ActiveSheet
For Each cell In Maplage
If cell.MergeCells = True Then
cell.MergeArea.Rows.AutoFit
End If
Next cell
End With
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Thierry104
 
Salut Mike merci bcp pour ta réponse si rapide.

Malheureusement cela ne marche pas, aucune erreur mais la hauteur des cellules fusionnées ne s'ajuste pas.

Dis moi si je peux faire quelque chose pour te faciliter la tache.

Merci encore

Thierry
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Je viens de retester le code, qui sans problème ajuste la hauteur ligne sans problème par rapport à la taille police.
Aurais tu des retours lignes dans ta cellule (Alt+Entrée) ou un retour ligne automatique qui dans ce cas peut poser problème et necessite un code plus complexe
0
Thierry104
 
Hey,

J'ai effectivement des retour de ligne dans plusieurs cellules et sont malheureusement inévitables.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Teste si ce code

Sub AjusteEnHauteur()
For Each cel In [A1:L100]
If cel <> "" Then
Set m = cel.MergeArea
m.UnMerge
m.WrapText = True
m.HorizontalAlignment = xlCenterAcrossSelection
m.Rows.AutoFit
m.Merge
End If
Next
End Sub
0