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

XL 2019 Sous Total

  • Initiateur de la discussion Initiateur de la discussion Paulle
  • 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 !

Paulle

XLDnaute Occasionnel
Bonsoir,

La formule "=SOUSTOTAL() " pour une colonne n'additionne pas les lignes masquées.

Est-il possible d'obtenir le total d'une ligne ignorant les colonnes masquées.

Merci.
 
Solution
Bonjour Paulle, le forum,

Utilisez le fichier (3) joint avec la macro du 2ème bouton :
VB:
Sub Afficher_Tout()
With [Tableau1]
    .Columns.Hidden = False
    MAJ_Somme
    .AutoFilter: .AutoFilter 'ôte le filtrage automatique
End With
Application.Goto [A1], True 'cadrage
[A2].Select
End Sub

Les 2 boutons et la zone de texte ont la propriété "Ne pas déplacer ou dimensionner avec les cellules".

Sinon ils seraient modifiés quand on masque des colonnes du tableau.

A+
Bonsoir Sylvanu,
Pour la somme des lignes non masquées, je sais qu'il faut entrer 109.
Mais cette formule fonctionne sur l'addition de cellules dans une même colonne.
Ce que je souhaite c'est additionner les cellules d'une ligne en ignorant les colonnes masquées.

Merci.
 
Bonsoir,

Dans la liste des fonctions citées, il y a aussi AGREGAT mais elle aussi c'est pour les lignes.

Une solution (je ne sais pas si dispo pour v2019)
=LET(p;B4:E4;SOMME(MAP(p;LAMBDA(c;INDEX(CELLULE("largeur";c);;1)<>0))*p))



Edit : autre solution sans MAP/LAMBDA
=LET(p;B4:E4;SOMME((CELLULE("largeur";DECALER(p;;SEQUENCE(;COLONNES(p);0);1;1))>0)*p))
La même sans LET
=SOMME((CELLULE("largeur";DECALER(B4:E4;;SEQUENCE(;COLONNES(B4:E4);0);1;1))>0)*B4:E4)
 
Dernière édition:
Bonjour Paulle,

Ce n'est pas possible, mais ce que je ferais, c'est mettre au dessus de mon tableau un indicateur pour les colonnes à additionner
et du coup j'utiliserais SOMME.SI()

A+
 
Re,
Si le nombres de cellules est faible on peut faire :
VB:
=SI(CELLULE("largeur";B4)>0;B4;0)+SI(CELLULE("largeur";C4)>0;B4;0)+SI(CELLULE("largeur";D4)>0;B4;0)+SI(CELLULE("largeur";E4)>0;B4;0)
Ou encore en rajoutant une ligne avec :
Code:
=SI(CELLULE("largeur";B4)>0;1;0)
La cellule vaut 1 si la colonne n'est pas masquée, 0 si elle est masquée.
Mais dans les deux cas, il faut faire Recalculer lorsqu'on modifie les masquages/démasquages. Car le masquage ne provoque pas de Recalculer.
Une autre possibilité est le VBA.
 

Pièces jointes

Merci Sylvanu.
J'avais oublié F9.
Je pense, pour que cela soit automatique, il faut passer par le VBA.
Dans mon cas, le total se ferait en colonne A car je dois pouvoir ajouter des valeurs en fin de ligne.
 
- 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éponses
12
Affichages
436
  • Question Question
Microsoft 365 formule addition
Réponses
4
Affichages
110
  • Question Question
Microsoft 365 Formule Excel
Réponses
4
Affichages
245
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…