Inverser ligne total

Bonjour,

J'ai besoin de votre aide sur une partie de ma macro que je n'arrive pas à créer..

J'ai un tableau issu d'un logiciel qui me sort toujours le total marque en premier et ensuite le détail des produits de cette marque et ce pour toutes les marques...

Comment faire avec une macro afin de copier chaque ligne total marque en-dessous des produits de cette marque sachant que le nombre de produits varie...

Ci-joint un exemple fictif avec un bout de tableau de ce que j'ai et en dessous le même tableau avec ce que je voudrais automatiser

Merci d'avance pour votre aide

20exemple.xlsx (8.51 Ko)

bonjour

a saisir en b17 dans ton exemple

=DECALER(B3;1;)

en esperant que ...

cordialement

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

Chapeau ! Merci beaucoup ! J'ai jamais utilisé le générateur de macros

Merci encore

Rechercher des sujets similaires à "inverser ligne total"