Inverser une macro d'insertion sous totaux avec groupage

Bonsoir,

J'ai bricolé une macro avec un bou de code récupéré sur internet.

La macro fonctionne bien, par contre j'aimerai savoir comment faire pour modifier celle-ci afin qu'elle commence par la fin de mon tableau de données.

En fait j'ai besoin d'insérer les lignes de sous totaux au dessus et pas en dessous de mes valeurs à sous-totaliser. Le tout se groupe actuellement, il faut donc que les lignes groupées soient en dessous de la ligne sous total.

Voici la macro ; si besoin je peux mettre à disposition le fichier xls.

Sub SOUS_TOTAUX()

    Dim i As Long
    Dim Iprec As Long
    Dim strNom As String

    i = 1
    Do While Range("A" & i).Value <> ""           'Boucle sur tant que la colonne A n'est pas vide
        If strNom <> Range("A" & i).Value Then       'Si nom de la ligne <> du nom precedent
            If strNom <> "" Then
                Rows(i).Insert       'insere une ligne
                Range("H" & i).FormulaLocal = "=somme(H" & Iprec & ":H" & i - 1 & ")"   'insere la somme SOUS TOTAL
                Range("A" & i).Value = strNom        'Ajoute le compte en A
                Range("A" & i).Font.Bold = True      'Met en gras
                Range("A" & i).Interior.ColorIndex = 33     'met en bleu la cellule
                Range("A" & i).Font.ColorIndex = 2   'met en blanc le texte de la ligne
                Rows(Iprec & ":" & i - 1).Group       'Regroupe les lignes
                Iprec = i + 1            'mémorise la ligne de début de la prochaine section
            Else
                Iprec = i
            End If
            strNom = Range("A" & i + 1).Value
        End If
        i = i + 1
    Loop

    Range("H" & i).FormulaLocal = "=somme(H" & Iprec & ":H" & i - 1 & ")"
    Range("C" & i).Value = strNom
    Range("C" & i).Font.Bold = True

    Rows(Iprec & ":" & i - 1).Group

End Sub

Merci beaucoup pour votre aide

Salut Christucci,

si besoin je peux mettre à disposition le fichier

En voilà une idée qu'elle est bonne, dis-donc!

A+

Et voici Merci

Ah j'aimerai en profiter pour demander autre chose, puisque j'ai simplement adapté la macro à mon usage, je n'ai pas bien compris l'usage de rajouté le code ci dessous

    Range("H" & i).FormulaLocal = "=somme(H" & Iprec & ":H" & i - 1 & ")"
    Range("C" & i).Value = strNom
    Range("C" & i).Font.Bold = True

    Rows(Iprec & ":" & i - 1).Group

en dessous du LOOP puisqu'il est déja dans la boucle !??

N'est-ce pas redondant ?

Merci

Rechercher des sujets similaires à "inverser macro insertion totaux groupage"