Sub defusionner()
Dim der&, i&, n&
   Application.ScreenUpdating = False
   With ActiveSheet
      'dernière ligne
      If .FilterMode Then .ShowAllData
      der = .Cells(Rows.Count, "a").End(xlUp)
      'recherche dernière cellule fusionnée
      For i = der To 2 Step -1
         If .Cells(i, 1).MergeCells Then Exit For
      Next i
      'si i = 1 pas de cellule fusionnée
      If i = 1 Then Exit Sub
      'prochaine ligne à examiner (on saute la dernière ligne avec fusion)
      i = i - .Cells(i, 1).MergeArea.Cells.Count + 1
      For i = i - 1 To 2 Step -1
         If .Cells(i, 1).MergeCells Then
            n = .Cells(i, 1).MergeArea.Cells.Count    'nombre de lignes de la cellule fusionnée
            .Cells(i, 1).UnMerge                      'on dé-fusionne
            'on affecte aux cellules de l'ex-plage fusionnée la bonne valeur
            .Cells(i, 1).Offset(-n + 1).Resize(n) = .Cells(i, 1).Offset(-n + 1).Value
         End If
      Next i
   End With
End Sub