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

XL 2013 Calculer le nombre de valeurs différentes en fonction de critères

lemarsupial69

XLDnaute Nouveau
Bonjour à tous,

Tout d'abord, s'agissant de mon tout premier post sur ce forum, merci de vous montrer compréhensifs ;-)

Je suis autodidacte sur excel et ne maitrise pour l'instant que les formules de base

Dans le tableau joint au présent, je souhaiterais pourvoir calculer le nombre de n° de dossier différents répondant à deux critères (dans l'exemple, ville=lyon et type=location)

Merci d'avance
 

Pièces jointes

  • exemple.xls
    6.5 KB · Affichages: 17

xUpsilon

XLDnaute Accro
Bonjour,

Ci-joint une solution dans laquelle tu rentres la ville souhaitée dans une cellule, et récupère le nombre de dossiers associés à cette ville dans la cellule d'à coté.

Bonne continuation
 

Pièces jointes

  • exemple.xlsm
    10.1 KB · Affichages: 8

lemarsupial69

XLDnaute Nouveau
Rebonjour à tous,

Merci pour vos propositions mais j'ai peut être mal exprimé ma requête.

Dans mon exemple, la colonne C contient des numéros de dossiers. Certains numéros reviennent plusieurs fois. Je souhaiterais savoir combien de numéros de dossiers différents répondent au critère LYON et LOCATION. Si un même n° de dossier répond plusieurs fois aux critères, il ne doit être compté qu'une fois.

Merci
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @lemarsupial69,

Pour simplifier la formule finale, on a ajouté une colonne auxiliaire (colonne E). Cette colonne contient la formule suivante en E2 à copier vers le bas:
Code:
=B2&"\"&D2&"\"&C2


Pour le calcul du nombre de dossiers, voir la formule matricielle en H3:
VB:
=SOMME((B2:B9=G2)*(D2:D9=G4)*(EQUIV(E2:E9;E2:E9;0)=LIGNE(E2:E9)-1))

Formule matricielle:
Cette formule doit être validée par la combinaison des trois touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée.

edit : bonsoir @job75
 

Pièces jointes

  • lemarsupial69- somme sans doublons- v1.xls
    27 KB · Affichages: 15
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour lemarsupial69, xUpsilon, mapomme,

Voyez le fichier joint et cette fonction VBA à placer impérativement dans un module standard :
VB:
Function NbDossier(debut As Range, crit1$, col1, crit2$, col2, coldossier)
Dim P As Range, d As Object, i&
If crit1 Like "<*>" Then crit1 = "*" 'caractère générique *
If crit2 Like "<*>" Then crit2 = "*"
crit1 = UCase(crit1): crit2 = UCase(crit2) 'majuscules
Set P = debut.Parent.Range("A1", debut.Parent.UsedRange)
col1 = Intersect(col1, P) 'matrice, plus rapide
col2 = Intersect(col2, P)
coldossier = Intersect(coldossier, P)
Set d = CreateObject("Scripting.Dictionary")
d.compareMode = vbTextCompare 'la casse est ignorée
For i = debut.Row + 1 To UBound(col1)
    If UCase(col1(i, 1)) Like crit1 And UCase(col2(i, 1)) Like crit2 And coldossier(i, 1) <> "" Then d(coldossier(i, 1)) = ""
Next
NbDossier = d.Count
End Function
Elles est utilisée en I5 avec cette formule :
Code:
=NbDossier(A1;G3;B:B;I3;D:D;C:C)
A+
 

Pièces jointes

  • exemple(1).xls
    35 KB · Affichages: 7

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…