Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Pour moi, les deux macros donnent le même résultat ?
Daniel
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Bonjour,
j'ai fusionné plusieurs colonnes, je souhaitais ajuster la hauteur de ligne en fonction du texte, j'ai trouvé mon bonheur sur le site avec cette macro
Sub test()
Dim X As Double
Application.ScreenUpdating = False
If TypeName(Selection) = "Range" Then
With Selection
.MergeCells = False
.WrapText = False
.WrapText = True
.HorizontalAlignment = xlHAlignCenterAcrossSelection
.WrapText = True
.EntireRow.AutoFit
X = .Height
.MergeCells = True
.EntireRow.RowHeight = X
.HorizontalAlignment = xlHAlignLeft
End With
End If
Application.ScreenUpdating = False
End Sub
Le seul petit problème c'est qu'il faut exécuter la macro en étant dans la cellule concernée, serait il possible que la macro s'exécute sur toutes les cellules ? Ou encore mieux en codant pour définir à l'avance toutes les cellules concernées, par exemple pour moi ca serait : A17+A21+A25
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.
Pour moi, les deux macros donnent le même résultat ?
Daniel
Bonjour,
Cela fonctionne, mais ça laisse des espaces beaucoup trop gros par rapport à l'autre macro. Savez-vous pourquoi ?
A moi non, mais le tableau est destinée à plusieurs utilisateurs, je préfère leur faciliter la tache ☺
Bonjour,
Sub test()
Dim X As Double, C As Range, resadr As String
Application.ScreenUpdating = False
If TypeName(Selection) = "Range" Then
For Each C In Range("A17,A21,A25")
With C
resadr = C.MergeArea.Address
.MergeCells = False
.WrapText = False
.WrapText = True
.HorizontalAlignment = xlHAlignCenterAcrossSelection
.WrapText = True
.EntireRow.AutoFit
X = .Height
Range(resadr).MergeCells = True
.EntireRow.RowHeight = X
.HorizontalAlignment = xlHAlignLeft
End With
Next C
End If
Application.ScreenUpdating = False
End Sub
Daniel
Il suffit de sélectionner les cellules voulues au préalable (tenir la touche CTRL et cliquer sur les cellules A17, A21 et A25). Est-ce que ça te pose des problèmes pour l'exécution ?