Ajuster automatiquement la hauteur

Thierry104 -  
Mike-31 Messages postés 18405 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

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. 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
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  4. Thierry104
     
    Hey,

    J'ai effectivement des retour de ligne dans plusieurs cellules et sont malheureusement inévitables.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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