Bonjour.
Edit : seconde démonstration plus rapide & pro grâce au Générateur de macros …
En activant le Générateur de macros, quelques secondes de manipulations et la trame est livrée !
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 21/03/2015 par The Noob Simulator
'
Range("A1:A11").Select
Selection.Find(What:="Intermarché", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Range("A3:C3").Select
Application.CutCopyMode = False
Selection.Cut
Range("A5").Select
Selection.Insert Shift:=xlDown
End Sub
En découle cette démonstration (grâce aussi à l'aide VBA intégrée, suffit de la consulter !) :
Sub Demo()
Dim Rd As Range, Rg As Range
Application.ScreenUpdating = False
With Feuil1.Cells(1).CurrentRegion.Rows
Set Rg = .Cells(3, 1)
Do
Set Rd = Rg
Set Rg = .Columns(1).Find(Rd.Value, .Cells(1), xlValues, xlWhole, , xlPrevious)(2)
If Rd(1, 2).Value = "" Then .Item(Rd.Row).Cut: Rg.Insert xlDown
Loop Until Rg.Row > .Count
End With
Set Rd = Nothing: Set Rg = Nothing
End Sub