Bonjour à tous,
Si tu veux conserver la fusion des cellules, çà complique mais on peut faire
Sub Tableau()
Dim Lg&, a%, i%, x%, c As Range, Comp$
Lg = Range("b" & Rows.Count).End(xlUp).Row
With Sheets("Feuil2")
'--- efface et bordurage ---
.Range("a5:c30").Clear
With .Range("a5:c" & Lg + 2)
.BorderAround Weight:=xlMedium
.Borders(xlInsideVertical).Weight = xlMedium
.Borders(xlInsideHorizontal).Weight = xlMedium
.HorizontalAlignment = xlCenter
End With
'---
For a = 1 To 4
If a = 1 Then Comp = "A"
If a = 2 Then Comp = "B"
If a = 3 Then Comp = "C"
If a = 4 Then Comp = "D"
x = 0
For Each c In Range("c3:c" & Lg)
If UCase(c) Like Comp Then 'recherche
.Cells(65000, "b").End(xlUp)(2) = Range(c.Address).Offset(0, -1)
.Cells(65000, "c").End(xlUp)(2) = Range(c.Address).Offset(0, 1)
x = x + 1
End If
Next
'--- fusionne colonne "A" ---
.Cells(65000, "b").End(xlUp)(2).Offset(-x, -1) = Comp
With .Cells(65000, "b").End(xlUp)(2).Offset(-x, -1).Resize(x, 1)
.MergeCells = True
.VerticalAlignment = xlCenter
End With
Next a
.Range("a3") = Range("a4")
End With
End Sub
Bonne journée
Claude