Code VBA permettant la copie des cellules fusionnées

Bonjour,

Dans Feuille1 , je désire copier les valeurs des cellules (dont chacunes d'elles peuvent etre des cellules fusionnées) et coller ces valeurs dans Feuille2, cote a cote en eliminant le format de la fusion.

voir example dans le fichier ci-joint.

Si quelq'un pourrait m'aider, je serais trés reconnaissant.

Merci

Bonjour,

L'exemple ci-joint n'est pas joint

Bonjour,

Si tu as tenté la manoeuvre manuellement, tu sais qu'Excel va te répondre "Niet"... Alors tu ne t'acharnes pas sur l'idée de Copier-Coller, et tu passes par un tableau intermédiaire... solution qui a l'avantage d'être applicable dans une très grande majorité de cas en évitant de copier-coller (c'est-à-dire transiter par le Presse-papier), ce que tu ne pourrais faire en manuel mais que VBA peut faire !

Cordialement.

Bonsoir a tous

Désolé j'ai miss la pièce jointe

51macro.xlsm (41.26 Ko)

Bonjour,

Essaie ceci :

Private Sub CommandButton1_Click()
    Dim i%, k%, n%, nv%, nvk%, nvn%, Tval()
    With Worksheets("Feuil1")
        With .Cells.SpecialCells(xlCellTypeLastCell)
            k = .Column: n = .Row
        End With
        For i = 1 To n
            nv = WorksheetFunction.CountA(.Rows(i))
            If nv > 0 Then nvn = nvn + 1
            If nv > nvk Then nvk = nv
        Next i
        ReDim Tval(1 To nvn, 1 To nvk)
        nvn = 0: nvk = 0
        For i = 1 To n
            If WorksheetFunction.CountA(.Rows(i)) > 0 Then
                nvn = nvn + 1
                For nv = 1 To k
                    If .Cells(i, nv) <> "" Then
                        nvk = nvk + 1: Tval(nvn, nvk) = .Cells(i, nv)
                    End If
                Next nv
                nvk = 0
            End If
        Next i
    End With
    With Worksheets("Feuil2")
        With .UsedRange
            .ClearContents
            .Borders.LineStyle = xlNone
        End With
        With .Range("A1").Resize(UBound(Tval, 1), UBound(Tval, 2))
            .Value = Tval
            .HorizontalAlignment = xlCenter
            With .Borders
                .LineStyle = xlContinuous
                .Weight = xlThin
            End With
        End With
        .Activate
    End With
End Sub

Cordialement.

Rechercher des sujets similaires à "code vba permettant copie fusionnees"