Macro hauteur de lignes

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

isa44

XLDnaute Occasionnel
Bonsoir le forum ,
quelqu'un a t il une macro pour règler les hauteurs de lignes à 25 , mais si le texte contenu dans une cellule est supérieur à 25 il faudrait ajuster cette hauteur au texte ?
 
Re : Macro hauteur de lignes

Bonjour et merci à tous ,
Voici ma macro finale qui réalise une mise en forme rapide

Sub form()
Dim lig As Integer, plage As Range

Application.ScreenUpdating = False

Application.Calculation = xlManual ' accélère l'exécution
Application.DisplayAlerts = False




For lig = 1 To 100
With Range(Cells(lig, "A"), Cells(lig, "P"))
'si la ligne n'est pas vide on l'unit à plage
If Application.CountA(.Cells) Then _
Set plage = Union(IIf(plage Is Nothing, .Cells, plage), .Cells)
End With

Range(Cells(lig, "M"), Cells(lig, "P")).Select 'fusionne MNOP
Selection.Merge


Selection.EntireRow.AutoFit ' hauteur ligne automatique
Selection.EntireRow.RowHeight = Selection.EntireRow.RowHeight + 10 ' + 10 pixel
If Selection.EntireRow.RowHeight < 25 Then Selection.EntireRow.RowHeight = 25 ' hauteur de ligne 25 mini



Next

'efface la MFC et les bordures
With Range("A1😛100")
.FormatConditions.Delete
.Borders(xlLeft).LineStyle = xlNone
.Borders(xlRight).LineStyle = xlNone
.Borders(xlTop).LineStyle = xlNone
.Borders(xlBottom).LineStyle = xlNone
'.Interior.ColorIndex = 43
End With

If plage Is Nothing Then Exit Sub 'si tout est vide...

With plage

'crée les bordures
.Borders(xlLeft).LineStyle = xlContinuous
.Borders(xlRight).LineStyle = xlContinuous
.Borders(xlTop).LineStyle = xlContinuous
.Borders(xlBottom).LineStyle = xlContinuous
'.Interior.ColorIndex = 43
.HorizontalAlignment = xlLeft 'alignement texte
.VerticalAlignment = xlCenter
.Locked = False 'protection cellule
.FormulaHidden = False

'MFC 1ère condition
.FormatConditions.Add Type:=xlExpression, Formula1:="=CELLULE(""row"")=LIGNE()"
With .FormatConditions(1)
.Font.Bold = True
.Font.Italic = False
.Font.ColorIndex = 3
.Interior.ColorIndex = 6
End With

'MFC 2ème condition
.FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(LIGNE();2)=0"
.FormatConditions(2).Interior.ColorIndex = 34

'MFC 3ème condition
.FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(LIGNE();1)=0"
.FormatConditions(3).Interior.ColorIndex = 36

End With



Application.Calculation = xlAutomatic
Application.DisplayAlerts = True

End Sub
 
Bonjour Je déterre ce poste qui date mais j'ai essayé sans succès, dans mon code j'ai (sur excel 2016) :

VB:
'met en forme les cellules descriptions pour que tout le texte soit lisible

Rows("11:26").Select
Selection.EntireRow.AutoFit ' hauteur ligne automatique
Selection.EntireRow.RowHeight = Selection.EntireRow.RowHeight + 10 ' + 10 pixel
If Selection.EntireRow.RowHeight < 39 Then Selection.EntireRow.RowHeight = 39 ' hauteur de ligne 39 mini

Si je fais un test pas à pas, il me fait bien mes lignes adaptées à ce qu'il y a dans les cellules et si elles sont vides il met bien le mini, puis, il ne fait pas ensuite la taille des lignes +10, ni si elles qui sont inférieures à 39, les mettre à 39 mini.
Après plusieurs tests je ne comprends pas qu'ai-je loupé ?
Merci de vos éclairages.
 
- 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

Discussions similaires

Réponses
11
Affichages
297
  • Question Question
XL 2013 Annulé
Réponses
6
Affichages
249
Réponses
5
Affichages
597
Réponses
4
Affichages
613
Réponses
3
Affichages
124
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
328
  • Question Question
Microsoft 365 Power Query
Réponses
2
Affichages
247
Retour