NbVal sauf cellules listées

Bonjour

dans le fichier joint, je souhaite afficher dans la ligne orange le nombre de cellules non vides de chaque colonne en excluant celles listées dans la feuille param (cette liste "à exclure" est évolutive)

Merci d'avance

Bonjour,

Un test avec des colonnes supplémentaires qui peuvent être masquées ou placées dans la feuille PARAM

Bonjour

Non désolé, c'est déjà ce genre de solution qui est utilisée sur le fichier original et ce que je recherche c'est justement une formule sans colonnes ou lignes intermédiaires, trop complexe à modifier pour les utilisateurs actuels en cas d'ajout de ligne, colonne, nouvelle valeur ...

Désolé. Merci

Bonjour

Formule en B19 à incrémenter vers la droite

=NBVAL(B6:B17)-SOMMEPROD(NB.SI(B6:B17;Param!$A$2:$A$4))

Cordialement

bonjour

une contribution

=SOMMEPROD((B6:B17<>"")-NB.SI(Param!$A2:$A4;B6:B17))

cordialement

Bonjour le fil, bonjour le forum,

Une proposition VBA si ça peut intéresser :

Sub Macro1()
Dim P As Worksheet
Dim AE As Variant 'déclare la variable AE (A Exclure)
Dim E As Worksheet 'déclare la variable AE (Exemple)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim T As Integer 'déclare la variable T (Total)

Set P = Worksheets("Param") 'définit l'onglet P
AE = P.Range("A2:A" & P.Cells(Application.Rows.Count, "A").End(xlUp).Row) 'définit le tableau AE
Set E = Worksheets("Exemple") 'définit l'onglet E
TV = E.Range("A6").CurrentRegion 'définit le tableau des valeurs TV
For J = 2 To UBound(TV, 2) 'boucle 1 : sur toutes les colonnes J du tableau des valeur TV (en partant de la seconde)
    For I = 1 To UBound(TV, 1) 'boucle 2 : sur toutes les lignes I du tableau des valeur TV
        For K = 1 To UBound(AE) 'boucle 3 : sur toutes les valeurs à exclure
            If TV(I, J) = AE(K, 1) Then GoTo suite 'ai la valeur el ligne I colonne J de TV est une valeur a exclure, va à 'étiquette "suite"
        Next K 'prochaine valeur de la boucle 3
        T = T + 1 'incrémente T
suite: 'étiquette
    Next I 'prochaine ligne de la boucle 2
    E.Cells(21, J).Value = T: T = 0 'renvoie le total dans la ligne 21 de la colonne J, réinitialise le total T
Next J 'prochaine colonne de la boucle 1
End Sub

Ça fonctionne très bien.

Merci à vous tous.

Rechercher des sujets similaires à "nbval sauf listees"