Calcul du nombre de référence selon 2 critères

Résolu
SG-1_Charpy Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   -
]Bonjour, je reviens vers vous pour améliorer la formule que j'ai appliquer sur ce post il y a quelques temps:

https://forums.commentcamarche.net/forum/affich-37560842-aide-avec-nb-si
Je me suis rendu compte que la formule comptait aussi des doublons (par rapport à un critère)

[https://img-19.ccm2.net/WF6DYx2lUd_hAfUcJz9RiL-pCP0=/d94df86cad9d45f888d12be8deeeb59b/tmp/Capture.PNG
|
Dans mon exemple il y 4 occurrences de DMP1 trouvé avec la formule du 1er post =NB.SI(K:K;"DMP1*"). Par contre il y 2 fois une occurrence avec la même largeur! Ce que voudrais c'est prendre en compte le critère DMP1(colonne K) et le critère de la largeur différente (colonne G) pour avoir le résultat de 3 DMP1 de largeur différentes.
Pour information il s'agit de pièces identiques mais de largeur différentes à usiner sur une commande numérique (même programme mais variable en largeur)





Configuration: Configuration: Windows / Firefox 101.0
A voir également:

8 réponses

DjiDji59430 Messages postés 4253 Date d'inscription   Statut Membre Dernière intervention   700
 
Bonjour à tous,
En 365
Avec un tableau non fourni en A2:C15, ni la version d'excel non plus,

=NBVAL(UNIQUE(FILTRE(A2:A15;SIERREUR(CHERCHE("dmp1*";C2:C15);0)>0)))

Crdlmt
1
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Je vous propose d'utiliser une fonction personnalisée [=NbRefSansDoublons()] que vous mettez dans une cellule de votre choix et le code suivant dans un module :
Function NbRefSansDoublons()
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("K1", [K65000].End(xlUp))
    If Left(c, 4) = "DMP1" Then
        n = c.Offset(0, -2) & Value2 + Left(c, 4)
        mondico(n) = ""
    End If
Next c
NbRefSansDoublons = mondico.Count
End Function


0
SG-1_Charpy Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, merci pour vos réponse rapide !
Pour Le Pingou : Je ne préfère pas utiliser une macro pour avoir ce résultat. Cela m'obligerait à lancer la macro pour chaque fichier. Mais merci pour l'astuce je la garde pour un autre travail !
Pour DjiDji59430: Je ne comprends pas pourquoi vous avez besoin des colonnes A et C. Les informations utiles sont dans les colonnes G et K. Quoi qu'il en soit je vous propose le tableau un peu plus complet et pour la version de excel c'est la version 2010.

Ce que je voudrais c'est le nombre de pièces portant le même code programme (colonne K) et ayant une largeur (colonne D ou G) différente. Sans cela j'obtiens 4 pièces DMP1 à faire, alors qu'il en a 2 parmi les 4 qui sont identiques (même largeur). Donc normalement le résultat devrait être de 3 pièces DMP1 à faire !
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Pour info c'est une macro-fonction personnalisée donc elle fonctionne comme une fonction Excel pas besoin de la lancer.
Note la proposition de DjiDji59430 est très bien, toutefois ce n’est pas certain que cela fonctionne avec Version 2010 !
Concernant sa formule il suffit de l'adapter selon la structure de votre plage de données:
=NBVAL(UNIQUE(FILTRE(G10:G27;SIERREUR(CHERCHE("dmp1*";K10:K27);0)>0)))


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SG-1_Charpy Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Salut, je reviens vers vous, la formule adapté pour mon tableau, de "Le Pingou", me renvoi le résultat de 1 au lieu de 3.
Peut-être elle n'est pas compatible avec ma version .
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Si je reviens vers vous s'adresse à moi alors je vous prie de bien contrôler si la fonction [UNIQUE] est bien compatible avec votre version Excel 2010...!
Voir ici : https://support.microsoft.com/fr-fr/office/fonction-unique-c5ab87fd-30a3-4ce9-9d1a-40204fb85e1e

Si c'est bien le cas, je pense qu'il faut passer par ma proposition!

0
SG-1_Charpy Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Oups, oui c'était à vous que je m'adressait. Le soucis c'est que actuellement je n'ai plus accès a l'ordinateur avec office 2010. Je suis sur ordinateur avec la suite libreoffice et votre fonction personnalisée ne fonctionne pas dessus. Libreoffice utilise le Basic pour les fonctions personnalisés (macro) et Excel utilise le VBA. Comme je ne suis pas sur le bon forum je ne peux m’étendre sur le sujet ici. Merci quand même.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci et bonne suite.
0