Ajuster automatiquement la hauteur

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

  1. 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
    1. 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
      1. 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
        1. Hey,

          J'ai effectivement des retour de ligne dans plusieurs cellules et sont malheureusement inévitables.
          0
          1. 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