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

Microsoft 365 Somme sur plusieurs colonnes avec condition de cellule non vide sur 2 lignes

Egruat

XLDnaute Occasionnel
Bonjour,

Je cherche une formule permettant de prendre la valeur non vide entre 2 lignes et ce sur plusieurs colonnes.

Ci-joint un fichier en exemple.

Pourriez-vous m'aider ?
 

Pièces jointes

  • exemple.xlsx
    9.4 KB · Affichages: 25

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir R@chid ,

Oui c'est déjà fait par l'ami djidji59430 en Post #13
Je n'ai pas lu tous les messages

Il me semble que ta formule matricielle est sensible au filtre. On filtre le tableau sur la première colonne. Via le filtre, on masque la dernière ligne avec valeur de la première colonne, alors le résultat de la formule est modifiée. ça pourrait jouer des tours à l'utilisateur.
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Oui, ma formule ne gère pas ni les filtres, ni les colonnes vides ou avec des cellules vides ou des colonnes contenant des textes
Ta formule est très bien mais c'est la première fois que je m'aperçois de son interaction avec le filtre. Ce doit être à cause du sous-total. En VBA, on a le même type de précaution à prendre quand on recherche la dernière ligne remplie avec l'aide de l'instruction END(xlup). Cette instruction est sensible au filtrage.
 

R@chid

XLDnaute Barbatruc
Supporter XLD
Re,
Oui bien sûr tu as tout à fait raison, mais on peut toutefois remplacer SOUS.TOTAL(9 par SOMME.SI() pour contourner le problème de filtre, et SOMME() par SOMMEPROD() pour éviter la validation matricielle.
VB:
=SOMMEPROD(SOMME.SI(DECALER(C2;NB.SI(DECALER(C2;1;LIGNE(INDIRECT("1:"&COLONNES(D3:O3)));LIGNES(C3:C37));"<>");LIGNE(INDIRECT("1:"&COLONNES(D3:O3))));"<>"))
 

Discussions similaires

Réponses
8
Affichages
358
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…