Dé-fusionner toutes les cellules de toutes les feuilles d'un Excel

Bonjour à tous,

Je débute en VBA et je me casse la tête depuis ce matin sur ce sujet :

J'aimerai créer une macro qui défusionne toutes les lignes de toutes les feuilles de mon excel. J'ai vu que le sujet traînait beaucoup sur plein de forums mais même en essayant tout ce que j'ai pu trouver, j'ai toujours le même problème, les changements ne s'appliquent qu'à la feuille active du classeur.

Voilà le code que j'ai finalement mis :

Sub defusionToutesFeuilles()

    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        With ws
            Cells.Select
            Selection.UnMerge
        End With
    Next ws

End Sub

J'ai essayé en créant une autre fonction mais pareil, même problème :

Sub defusionToutesFeuilles()

    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        Call defusion(ws)
    Next ws

End Sub

Sub defusion(ws As Worksheet)
    With ws
        Cells.Select
        Selection.UnMerge
    End With
End Sub

Je ne comprends vraiment pas d'où peut venir mon erreur ni comment la corriger ...

Merci d'avance pour votre aide.

Re,

Tout simplement

Sub DefusionToutesFeuilles()
  Dim ws As Worksheet
    For Each ws In ThisWorkbook.Sheets
      ws.Cells.UnMerge
    Next ws
End Sub

Si vous Mettez "With" il faut penser à mettre le "." devant la propriété pour faire référence au conteneur

@+

Merci beaucoup, c'est exactement ce que je cherchais.

Salut !

Rechercher des sujets similaires à "fusionner toutes feuilles"