Problème de Somme.Si pointant sur un classeur fermé

Bonjour à tous,

Je sais que ce souci a déjà été traité, mais chez moi c'est un peu plus vicieux. Je m'explique :

J'ai un classeur principal, nommé "Synthèse", avec l'onglet "importprod"

J'ai un classeur secondaire, nommé "Prod", qui comporte 8 onglets, nommés de 1 à 8.

Dans l'onglet "importprod" du classeur "Synthèse", en colonne A, se situe toutes nos références d'ordre de fabrication.

Ces références apparaissent dans le classeur "Prod",en colonne C, avec en regard le nombre d'articles produits concernant ces références,en colonne G.

Je souhaite, dans l'onglet "importprod" du classeur 1, effectuer un SOMME.SI dans l'ensemble des 8 onglets du classeur "Prod", pour obtenir le cumul du nombre d'articles produits par référence.

Alors chez moi ça fonctionne, sauf que dès que je veux filtrer la vue de "importprod", tous les SOMME.SI se transforment en #VALEUR, car le classeur "Prod" est fermé.

J'ai essayé en formule matricielle, en vba, mais j'ai toujours le même résultat.

Avez vous une piste?

Je vous joins les 2 classeurs et le code VBA (soyez indulgents, je débute^^)

Dans le "importprod", les colonnes B et C sont censées être regroupées, mais l'utilisation de SUMIF me contraint au nombre de caractères, j'ai dû donc séparer.

Merci d'avance

14prod.xlsm (151.69 Ko)
14synthese.xlsm (46.06 Ko)

Bonjour,

ton SOMME.SI n'a pas besoin d'être matriciel

remplace ton SOMME.SI par un SOMMEPROD et cela fonctionnera !

mais réduit la taille des colonnes au strict nécessaire sinon ton calcul devient très long

20synthese.xlsm (47.81 Ko)

Merci pour ta réponse

Ok je note pour les colonnes

Par contre, je n'ai que des 0, c'est normal ?

En fait il y a 2 soucis :

  • de mon côté, j'aurais dû figer complètement la matrice : $C$1:$C$32 et non $C1:$C32
  • de ton côté : tu as des références en texte dans ton fichier de base et en nombre dans l'autre fichier ... il faut donc aligner l'ensemble

correction de ma proposition

21synthese.xlsm (33.01 Ko)

Aaaaah oui en effet, j'ai les pitits triangles verts là, j'y ai pas pensé.

Je vais tester ça, sinon je ferai un sumif dans le prod et je rapatrierai les données dans le synthèse. Le calcul sera plus rapide comme cela je pense.

EDIT : ça semble fonctionner comme ça

J'approfondirai ça demain

En tous cas merci pour ton aide

Je te tiens au courant

Je vais tester ça, sinon je ferai un sumif dans le prod et je rapatrierai les données dans le synthèse. Le calcul sera plus rapide comme cela je pense.

C'était aussi une solution que je voulais te proposer, mais l'objectif premier était de comprendre pourquoi et proposer une solution alternative. Du reste je ne comprends toujours pas pourquoi SOMMEPROD fonctionne et pas SOMME.SI !!

Pour la solution à laquelle tu penses, je t'invite à passer tes données en tableau, voire à faire un TCD plutôt qu'un calcul et faire appel aux données par LIREDONNEESTABCROISDYNAMIQUE

Bonjour Steelson,

Merci pour ta réponse.

Quand tu dis

[quote=Steelson post_id=711455 time=1543509767 user_id=30943]

je t'invite à passer tes données en tableau

Tu entends quoi par là ? Organiser tout cela en TCD, ou les réf. tableaux ?

a minima tableau au sens excel

capture d ecran 278

... cela permettra d'adapter automatiquement la plage au nombre de lignes du tableau

Ah cool, super astuce, merci

Rechercher des sujets similaires à "probleme somme pointant classeur ferme"