SumProduct : Résultat incohérent

Fermé
Quenton - 7 févr. 2013 à 10:39
 Quenton - 8 févr. 2013 à 13:25
Bonjour le forum !

J'ai un problème que je suppose mineur mais sur lequel je m'arrache les cheveux... Je vous explique, c'est un peu long mais j'espère que quelqu'un aura la solution.

Mon fichier ressemble à une base de données et comporte 3 feuilles : Input ; Import ; Details.
Pour ce qui concerne le problème :

Import comporte 4 colonnes (A : numéro de ligne, B : nom, C : code et D : description) déjà renseigné : sorte de base de données. Pour info, cette feuilles comporte environ 40000 lignes.
Input comporte 1 colonne (E : code) à renseigner pour appeler des codes et sortir les infos relatives à ce code.
Details comporte 1 case (B3 : nom) et 3 colonnes (C : un code, D : une description et la fameuse colonne A qui pose problème que j'appelerai ici COLONNE_PB).

Je souhaite afficher dans COLONNE_PB le numéro de ligne [dans Import] remplissant les deux conditions :
Import.Nom = Details.Nom
Import.Code = Details.Code

J'ai donc mis comme formule (excel anglais) :
=SUMPRODUCT(('IMPORT'!$A$2:$A$45000)*(Details!$B$3='IMPORT'!$B$2:$B$45000)*(Details!$C20='IMPORT - Task database'!$C$2:$C$45000))

Celle-ci me renvoie 0 (ce qui ne me satisfait pas...)

Ma colonne Details.Code est rempli par macro :
For Princ = 20 To 169
LastLineDetail = Sheets("Details").Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row
Sheets("Details").Cells(LastLineDetail + 1, "C") = Sheets("Task list - Input").Cells(Princ - 16, "E")

Or, si j'appelle mes codes par formule avec
=CONCATENATE('Task list - Input'!E4), pour le code en ligne 4, le Sumproduct fonctionne.

Le problème, c'est que je suis obligé de remplir la colonne Details.Code par macro pour d'autres raisons. Est ce un problème de type ?

Si je n'ai pas été suffisament clair, n'hésitez pas à me poser des questions. C'est déjà très sympa de prendre du temps pour cela.

Merci encore et à très vite !

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 8/02/2013 à 08:31
Bonjour,

pour travailler sur du concret:

mettre un extrait (env. 2000 lignes) du classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse


Michel
0
Bonjours,

Effectivement, je le saurai pour la suite. Bon du coup j'ai fait du bricolage en utilisant des fonctions concatenate. C'est pas très propre, mais cela fonctionne !

Concernant l'uploading, le saurais pour la prochaine fois !
Merci !
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
8 févr. 2013 à 09:16
C'est pas très propre, mais cela fonctionne !

bon, alors pourquoi avoir demander de l'aide ?

;-(
0
Je n'y avais pas pensé avant. Et je souhaiterais progresser donc arreter le bricolage du dimanche pour une finition un peu plus lisible et ré-utilisable facilement...
0