Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sous-total toutes les 12 lignes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

VirtualDid

XLDnaute Nouveau
Bonjour !

Dans une liste de données (fichier joint), je souhaite effectuer des sous-totaux toutes les 12 lignes, indépendamment du contenu de la liste et je n'ai pas trouvé d'information sur le forum.

Pour cela, j'ai :
- inséré une colonne vide intitulée Code
- créé la formule =ARRONDI.INF((LIGNE(A1)-1)/12;0) pour afficher une numérotation incrémentée toutes les 12 cellules
- recopié cette formule vers le bas (le résultat change toutes les 12 cellules)
- utilisé la commande Sous-total (onglet Données > groupe Plan > bouton Sous-total) : voir copie d'écran dans la feuille

Est-ce qu'il existe une solution plus simple ne nécessitant pas la création d'une colonne supplémentaire et sans passer par les macro-commandes ?
 

Pièces jointes

Dernière édition:
Re : Sous-total toutes les 12 lignes

Bonsoir VirtualDid et bienvenue,

Plus simple que ce que tu as fait et sans macro, personnellement, je ne vois guère ... sauf si le sous-total en question peut se faire dans une autre colonne (mais ça, je suppose que ce n'est pas prévu dans ton cahier des charges 🙂)

On peut aussi raccourcir ta formule de quelques malheureux caractères, mais ça ne change rien à l'affaire 🙁
 
Re : Sous-total toutes les 12 lignes

Bonjour VirtualDid, bienvenue sur XLD,

Entrez en E2 cette formule :

Code:
=SI(MOD(LIGNES(D$2:D2);12);"";SOMME(D$2:D2)-SOMME(E$1:E1))
puis tirez-la vers le bas.

Vous pouvez supprimer la colonne A : elle ne sert à rien.

Edit : bonjour Modeste, pas rafraîchi.

A+
 
Dernière édition:
Re : Sous-total toutes les 12 lignes

Fichtre, quelle rapidité ! Je ne m'attendais pas à ça... Merci à tous ! Et merci pour vos messages de bienvenue, vous avez sans doute remarqué, c'était mon premier message, grand moment d'émotion ! 😀

@Modeste C'est vrai que le système utilisé me convenait bien à moi aussi mais je me doutais qu'une solution sans mon bricolage de chiffres devait bien exister...

@job75 Ca marche très bien ! Juste quelques minutes à prendre pour mieux comprendre... Et je me demande s'il n'y aurait pas moyen de simplifier encore, comme proposé par Victor21...

@Victor21 Merci pour ta contribution mais ça ne marche pas tout à fait, le résultat en ligne 13 concerne la somme des 12 lignes suivantes (!) ; je pense que ta formule devait être
Code:
=SI(MOD(LIGNE()-1;12)=0;SOMME(D2:D13);"")

Merci à tous !
 
Re : Sous-total toutes les 12 lignes

Re,

Bien évidemment : j'ai malencontreusement recopié la formule présente en D25 ...

PS : L'utilisation de lignes() par Job75 au lieu de ligne() permet d'éviter la génération d'une erreur en cas d'insertion d'un nombre non multiple par 12 avant la ligne 2
 
Re : Sous-total toutes les 12 lignes

Bonjour a tous,

En essai, saisir la formule suivante en E2 et recopier vers le bas:
Code:
=SI($D3="";SOMME(DECALER($D$1;12*ENT(LIGNE()/12)+1;;LIGNE($D3)));SI(MOD(LIGNES($1:1);12)=0;SOMME(DECALER($D$1;LIGNE()-12;;12));""))
On ne trouve pas mieux que d'utiliser une nouvelle colonne...

Cordialement
 
Dernière édition:
Re : Sous-total toutes les 12 lignes

En essai, saisir la formule suivante en E2 et recopier vers le bas :
Code:
=SI($D3="";SOMME(DECALER($D$1;12*ENT(LIGNE()/12)+1;;LIGNE($D3)));SI(MOD(LIGNES($1:1);12)=0;SOMME(DECALER($D$1;LIGNE()-12;;12));""))

Euh... Ben... Oui... C'est sympa d'avoir participé mais à la base, je voulais une formule simple ! 😱

Merci quand même ! 😉
 
Re : Sous-total toutes les 12 lignes

Bonsoir le forum,

En se basant sur la colonne A :
VB:
Sub Somme()
    Dim rng As Areas, rng1 As Range
    With Range("A2", Range("A" & Rows.Count).End(xlUp)).Offset(, 4)
        .Formula = "=if(a2<>a3,1,"""")"
        .Value = .Value
        On Error Resume Next
        Set rng = .SpecialCells(4).Areas
    End With
    On Error GoTo 0
    If rng Is Nothing Then Exit Sub
    For Each rng1 In rng
        With rng1
            .Cells(.Rows.Count + 1).Formula = _
            "=sum(" & .Offset(, -1).Resize(.Rows.Count + 1).Address & ")"
        End With
    Next
End Sub
klin89
 
Re : Sous-total toutes les 12 lignes

Bonjour,

En fait les formules 2 et 3 (sur ta feuille) étaient destinées à être recopiées sur l'ensemble des lignes sans se poser de question, d'où leur apparence un peu plus compliquée.
eric
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…