Merge cellules VBA

"Bonjour à tous,

je souhaite developper un VBA pour faire un merge des cellules de ma colonne B des lors que la valeur de la cellule est differente en incluant les cells vides.

En colonne C le résultat que je veux obtenir.

J'ai essayé d'adapter un VBA dans le module2 ""Fusionner"" du developper mais il me merge que les cells vides si il y a un blanc entre 2 cells.

Sub Fusionner()

    lnD = 11
    For Ln = 12 To Range("B" & Rows.Count).End(xlUp).Row
        If Range("B" & Ln) <> Range("B" & lnD) Then
            Application.DisplayAlerts = False
            Range("B" & lnD & ":B" & Ln - 1).Merge
            lnD = Ln
        End If
    Next Ln
End Sub

Merci de votre aide !"

29merge-cells-vba.zip (111.74 Ko)

bonjour

pas de VBA

laisse tes données telles que saisies

et ajoute un TCD pour les présenter selon tes souhaits

amitiés

bonjour

pas de VBA

laisse tes données telles que saisies

et ajoute un TCD pour les présenter selon tes souhaits

amitiés

Bonjour jmd,

merci pour ta réponsé mais malheureusement je dois garder le format tel quel et je ne peux pas faire de pivot table.

Bonjour,

Sub Fusionner()
    Dim Plg As Range, dln%, i%, ii%
    With Worksheets("HH9100EH010A")
        dln = .Cells(.Rows.Count, 2).End(xlUp).Row
        Set Plg = .Range("B11:B" & dln)
    End With
    Application.ScreenUpdating = False
    With Plg
        For i = 2 To .Rows.Count
            If .Cells(i, 1) = "" Then .Cells(i, 1) = .Cells(i - 1, 1)
        Next i
        Application.DisplayAlerts = False
        For i = .Rows.Count To 1 Step -1
            ii = i
            Do While .Cells(ii - 1, 1) = .Cells(i, 1)
                ii = ii - 1
                If ii < 1 Then ii = 1: Exit Do
            Loop
            Range(.Cells(i, 1), .Cells(ii, 1)).Merge
            i = ii
        Next i
    End With
End Sub

Cordialement.

Merci MFerrand !

C'est exactement ce que je souhaitais.

Bonne journée !

bonjour

pas de VBA

laisse tes données telles que saisies

et ajoute un TCD pour les présenter selon tes souhaits

amitiés

Bonjour jmd,

merci pour ta réponsé mais malheureusement je dois garder le format tel quel et je ne peux pas faire de pivot table.

re

au passage salut MFerrand

pourquoi pas de TCD ?

jmd a écrit :

pourquoi pas de TCD ?

ben oui, pourquoi pas de TCD ? (c'est pourtant tellement amusant, d'faire des TCD ! même que jmd en fait tout l'temps, lui ! )

allardinho a écrit :

malheureusement je dois garder le format tel quel et je ne peux pas faire de pivot table.

alors j'suppose que faire un pivot table modifierait le format actuel ; ou que la feuille et / ou le classeur sont protégés par mot de passe, et impossible de modifier ce fichier (qui est peut-être un import sur lequel alladinho « n'a pas la main »).

autre possibilité : comme moi, alladinho adore VBA et ne peut pas s'en passer ! (merci à MFerrand pour sa solution VBA ! )


@jmd : tu vois, j'crois bien qu'la réponse à ta question était déjà dans ma citation d'allardinho.

dhany

Rechercher des sujets similaires à "merge vba"