[VBA/Excel] Hauteur de ligne
Résolu
grotone
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
D.O.C. -
D.O.C. -
A voir également:
- Vba hauteur de ligne
- Partage de photos en ligne - Guide
- Longueur largeur hauteur ✓ - Forum Loisirs / Divertissements
- Mètre en ligne - Guide
- Ligne occupée - Forum SFR
- Aller à la ligne excel - Guide
3 réponses
Il y a une astuce très simple pour ajuster la hauteur d'une ligne contenant des cellules fusionnées, en gardant l'alignement du texte à gauche :
Voici mon code, sachant que la plage de cellule s'étend de la colonne C à la colonne K.
'Ajuste automatiquement la hauteur de ligne
Function ligne_hauteur(ByVal lngRow As Long)
Dim strRange As String
Dim dblHeight As Double
Application.ScreenUpdating = False
'Range en cours de modification
strRange = "C" & lngRow & ":K" & lngRow
'On enlève la fusion et on centre sur plusieurs cellules
'pour récupérer la vraie hauteur de la ligne
With Range(strRange)
.MergeCells = False
.Locked = False
.HorizontalAlignment = xlCenterAcrossSelection
End With
'Hauteur réelle de la ligne
Rows(lngRow & ":" & lngRow).EntireRow.AutoFit
dblHeight = Rows(lngRow & ":" & lngRow).RowHeight
'On refusionne et on centre è gauche
With Range(strRange)
.MergeCells = True
.HorizontalAlignment = xlLeft
End With
'Ajustement de la hauteur réelle de la ligne
Rows(lngRow & ":" & lngRow).RowHeight = dblHeight
'Protection et refresh de l'écran
Application.ScreenUpdating = True
End Function
Et voilou !!! :)
Henri.
Voici mon code, sachant que la plage de cellule s'étend de la colonne C à la colonne K.
'Ajuste automatiquement la hauteur de ligne
Function ligne_hauteur(ByVal lngRow As Long)
Dim strRange As String
Dim dblHeight As Double
Application.ScreenUpdating = False
'Range en cours de modification
strRange = "C" & lngRow & ":K" & lngRow
'On enlève la fusion et on centre sur plusieurs cellules
'pour récupérer la vraie hauteur de la ligne
With Range(strRange)
.MergeCells = False
.Locked = False
.HorizontalAlignment = xlCenterAcrossSelection
End With
'Hauteur réelle de la ligne
Rows(lngRow & ":" & lngRow).EntireRow.AutoFit
dblHeight = Rows(lngRow & ":" & lngRow).RowHeight
'On refusionne et on centre è gauche
With Range(strRange)
.MergeCells = True
.HorizontalAlignment = xlLeft
End With
'Ajustement de la hauteur réelle de la ligne
Rows(lngRow & ":" & lngRow).RowHeight = dblHeight
'Protection et refresh de l'écran
Application.ScreenUpdating = True
End Function
Et voilou !!! :)
Henri.
il semble que ce principe reste le plus rapide de ce que j'ai trouvé pour l'instant.
avec du code simple et lisible
Olivier-D.O.C.