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

Sous-total toutes les 12 lignes

  • Initiateur de la discussion Initiateur de la discussion VirtualDid
  • Date de début Date de début

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 !

V

VirtualDid

Guest
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 modification par un modérateur:
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

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