Bonjour à tous,
Voici un code qui devrait dé-fussionner et dé-centrer chaque cellule de la sélection ligne par ligne (c'est la façon dont j'ai trouvé).
Par contre, il n'affiche que la première valeur de la ligne rencontre (il efface toutes les données des autres colonnes... Mais le dé-fusionner et dé-centrer fonctionnent bien !).
Qu'est-ce qu'il y a dans mon code qui fait en sorte que chaque cellule ne garde pas sa valeur ? Si je clique manuellement sur le bouton fusionner/centrer pour annuler l'effet sur une sélection de cellules fusionnées... ça fonctionne très bien pourtant !
Le code :
Sub unmerge_cells()
'
' afin de défusionner et décentrer horizontalement chaque cellule fusionnée
'
Dim num_row As Long
Range("1:1").Select
num_row = ActiveCell.Row 'prend donc la valeur 1 pour le moment
While num_row < 25
'Rows(num_row & ":" & num_row).Select
Rows(num_row).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
num_row = ActiveCell.Row + 1 'augmenter de 1 à chaque traitement
Wend
End Sub
Merci de votre aide !