Microsoft 365 Paramétrage fichier avec sous-totaux

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 !

pascalmatthys

XLDnaute Nouveau
Bonjour à tous,
J'ai un fichier Excel avec des sous-totaux, que je veux rendre le plus présentable/exploitable possible.
Vous le trouverez en annexe.
le dernier point que je voudrais fixer : il faudrait que l'information dans la colonne I et J se recopie à côté du sous total.
donc par ex pour la ligne 2, il faut que je puisse voir SOMA dans la cellule I2 et Soco Martinez dans la colonne J2

Je ne vois pas trop quel formule ou fonctionnalité utiliser... ?

Merci d'avance pour votre aide.
 

Pièces jointes

Bonjour

Cette fonctionnalité vieillotte n'est maintenue que pour des problèmes de compatibilité mais ne fonctionne pas avec tout ce qu'Excel a ajouté depuis 2003 et notamment les tableaux structurés...

On évite de façon générale de mélanger détail et synthèse car le mélange est peu percutant.

On a le choix entre les synthèses par TCD ou par PowerQuery

Si tu tiens à garder cette juxtapositon 2 solutions :
  • insérer des formules manuellement ou par VBA sur chaque ligne de sous total,
  • ne pas effectuer de sous totaux par groupe mais à droite des données : voir fichier joint où un segment permet de filtrer d'un clic
 

Pièces jointes

Bonjour Leprofesseur, Chris,
Tout à fait d'accord, de plus ça fait de gros tableaux illisibles.
On peut facilement construire une synthèse par N° de dossier.
Voir PJ. La synthèse s'effectue lorsqu'on sélectionne la feuille "Synthèse". Avec :
VB:
Sub Worksheet_Activate()
    Dim T, Tableau, DL%, Taille%, Indice%, i%
    [A2:D65000].ClearContents
    Application.ScreenUpdating = False
    With Sheets("Sélection et Rapport")
        DL = .Range("A65500").End(xlUp).Row
        T = .Range("A1:J" & DL)
    End With
    Taille = UBound(T)
    Indice = 0
    ReDim Tableau(Taille, 3)
    For i = 2 To Taille
        If Left(T(i, 1), 5) <> "Total" Then
            If T(i, 1) <> T(i - 1, 1) Then
                Tableau(Indice, 0) = T(i, 1)
                Tableau(Indice, 1) = T(i, 9)
                Tableau(Indice, 2) = T(i, 10)
                Indice = Indice + 1
            End If
        End If
    Next i
    [A2].Resize(UBound(Tableau, 1), UBound(Tableau, 2)) = Tableau
    DL = Range("A65500").End(xlUp).Row
    Range("D2:D" & DL).FormulaLocal = "=SOMME.SI.ENS('Sélection et Rapport'!H:H;'Sélection et Rapport'!A:A;A2)"
    Range("D2:D" & DL) = Range("D2:D" & DL).Value
End Sub
 

Pièces jointes

- 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

  • Résolu(e)
Microsoft 365 Macro VBA
Réponses
16
Affichages
3 K
Retour