Bonjour, J'ai un fichier "facture" en relation avec un fichier "reference". Sur la designation des produits, je souhaiterai aligner automatiquement la hauteur de ligne (certaines références ont une désignation de 3 lignes, d'autres de 2, ...). Est-ce que quelqu'un pourrait m'aider. Merci d'avance. Bon dimanche
J'ai inséré ce code VBA sur l'onglet "facture" mais cela ne fonctionne pas.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
Dim rowHeight As Double
' Vérifie si la modification concerne la plage b17:e24
Set rng = Intersect(Target, Me.Range("b17:e24"))
' Si un changement se produit dans la plage b17:e24, ajuster la hauteur des lignes
If Not rng Is Nothing Then
Application.EnableEvents = False ' Désactive temporairement les événements pour éviter les boucles infinies
For Each cell In rng
' Réinitialise d'abord la hauteur de la ligne
cell.EntireRow.rowHeight = 15 ' Hauteur standard (ajustez si nécessaire)
' Ajuste ensuite la hauteur de la ligne en fonction du contenu de la cellule
cell.EntireRow.AutoFit
If cell.MergeCells Then
cell.EntireRow.rowHeight = 30 ' Définir une hauteur suffisante pour la ligne fusionnée
End If
Next cell
Application.EnableEvents = True ' Réactive les événements une fois le code exécuté
End If
End Sub
J'ai inséré ce code VBA sur l'onglet "facture" mais cela ne fonctionne pas.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
Dim rowHeight As Double
' Vérifie si la modification concerne la plage b17:e24
Set rng = Intersect(Target, Me.Range("b17:e24"))
' Si un changement se produit dans la plage b17:e24, ajuster la hauteur des lignes
If Not rng Is Nothing Then
Application.EnableEvents = False ' Désactive temporairement les événements pour éviter les boucles infinies
For Each cell In rng
' Réinitialise d'abord la hauteur de la ligne
cell.EntireRow.rowHeight = 15 ' Hauteur standard (ajustez si nécessaire)
' Ajuste ensuite la hauteur de la ligne en fonction du contenu de la cellule
cell.EntireRow.AutoFit
If cell.MergeCells Then
cell.EntireRow.rowHeight = 30 ' Définir une hauteur suffisante pour la ligne fusionnée
End If
Next cell
Application.EnableEvents = True ' Réactive les événements une fois le code exécuté
End If
End Sub