• 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 Paulle,
Tout dépend du paramètre utilisé, par exemple pour la moyenne, "1" comprend les lignes masquées, "101" ignore les lignes masquées.
1747856942185.png

 
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))

EXCEL_awQrxiybQw.png


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:
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

- 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
431
  • Question Question
Microsoft 365 formule addition
Réponses
4
Affichages
110
  • Question Question
Microsoft 365 Formule Excel
Réponses
4
Affichages
245
Réponses
5
Affichages
209
Retour