Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, Range("B7:B" & Rows.Count), UsedRange)
If Target Is Nothing Then Exit Sub
Dim i As Variant, a$, o As Object
Application.ScreenUpdating = True
Application.CopyObjectsWithCells = True 'si ce n'est pas le cas
With Sheets("DATABASE")
Columns(3).ColumnWidth = .Columns(4).ColumnWidth 'même largeur
For Each Target In Target 'si entrées/effacements multiples
a = Target(1, 2).Address
For Each o In DrawingObjects
If o.TopLeftCell.Address = a Then o.Delete
Next o
i = Application.Match(Target, .Columns(2), 0)
If IsNumeric(i) Then
Target.RowHeight = .Rows(i).RowHeight 'même hauteur
.Cells(i, 4).Copy Target(1, 2) 'copie la cellule et l'objet
Target(1, 2).Borders.LineStyle = xlNone 'supprime les bordures
End If
Next Target
End With
End Sub