Sommeprod sous excel 2003

Fermé
den - 3 janv. 2011 à 15:48
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 3 janv. 2011 à 23:09
Bonjour,


j'utilise la formule sommeprod (excel 2003) dans une base de données avec des heures de production.

Mes formules fonctionnent correctement mon tableau à l'époque comptait 123 lignes,
ma formule était la suivante :
=SOMMEPROD(((H_PROD!C11:C123=STAT!A18)*(H_PROD!D11:D123>=STAT!B14)*(H_PROD!D11:D123<=STAT!B15)*H_PROD!N11:N123)) et elle fonctionnait très bien

depuis mon tableau a évolué j'en suis à 251 lignes ma formule devient donc :
=SOMMEPROD(((H_PROD!C11:C251=STAT!A18)*(H_PROD!D11:D251>=STAT!B14)*(H_PROD!D11:D251<=STAT!B15)*(H_PROD!N11:N251)))
avec les nouvelles cellules à prendre en compte

j'ai un message d'erreur #valeur ( le type de données d'une valeur utilisée dans la formule est incorrect).
Je n'arrive pas à trouver l'erreur pouvez vous m'aider s'il vous plaît?

auparavant je n'avais aucun problème, afin d'éviter les lignes vides dans mon tableau, j'ai introduit une macro avec un bouton pour insérer des lignes automatiques, est-ce que c'est à cause de cela que ma formule bug?
A voir également:

6 réponses

tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
3 janv. 2011 à 15:54
Bonjour,

Les valeurs insérées sont elles au format "nombre" ou "texte"

Il serait plus facile de vous aider avec votre fichier à disposition (cijoint.fr)

sinon vous pouvez essayer d'augmenter progressivement 123 jusqu'à 251 pour voir où ça coince.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 3/01/2011 à 16:26
Bonjour
ce n'est pas forcément les valeurs de la formule qui sont incorrectes, mais peut être y a t'il, dans la colonne N, des valeurs non numériques.

Pour info, votre seconde formule comporte une parenthése de trop au début et à la fin, ce qui ne change rien au fonctionnement.

Crdlmnt

Ps: si vous avez une macro qui insére des lignes, vérifier quand même l'état de la formule après insertion.

--
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Bonjour

Merci de m'avoir répondu aussi rapidement, j'ai cherché moi aussi de mon côté, il se trouve que vous avez raison tous les deux sur un point il y avait un problème de format dans ma cellule, un de mes collègues a trouvé des cellules vides dans la colonne qui doit me donner le résultat final. En attendant de supprimer les lignes vides j'ai mis un 0 dans la cellule ce qui m'a permis d'aller au-delà de mes cellules 123

par contre j'ai une autre question :
comment prendre en compte l'évolution de mes lignes de façon automatique dans ma sommeprod, sans avoir à rajouter manuellement la ou les nouvelles cellules, j'ai pensé à la formule décaler, mais je ne sais pas comment l'inclure dans une formule si complexe que sommeprod
merci d'avance pour votre aide
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
3 janv. 2011 à 18:12
Re
pas trop compris le problème!
1°) les cellules vides n'influent pas sur le résultat de SOMMEPROD, sauf si on considère comme vide une cellule qui renvoie la valeur "" suite à une formule. Dans ce cas il, faut effectivement remplacer ce résultat par 0

2°) si vous insérer des lignes à l'intérieur du champ les limites s'ajustent automatiquement.Il suffit donc de prévoir un départ un champ plus grand de quelques lignes par rapport à l'insertion pour que tout suive.

Si cela ne convient pas,il y a des solutions pour définir le champ sur la dernière ligne pleine... mais avec des formules qui subiront aussi les évolutions de l'insertion.

Dites nous plus précisément ce qui ne fonctionne pas avec votre macro.

crdlmnt




-
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Bonsoir Vaucluse,

Merci pour votre réponse, j'ai effectivement le cas de figure de votre 1°)
J'ai appris ce soir quelque chose de plus.

je vais opter pour l'instant pour votre solution d'insertion de lignes pour la prise en compte automatique des cellules rajoutées. En attendant de trouver une macro pour la mise à jour automatique des cellules concernées.

Pour l'heure la macro que j'ai enregistré insère une ligne en dessous et les cellules de cette nouvelle ligne ne sont pas prises en compte automatiquement dans le calcul de mes "sommeprod", je suis obligée de mettre à jour les cellules manuellement par exemple les cellules c251, d251, n251 ne deviennent pas c252, d252, n252 dans ma "sommeprod" suite à ce rajout de ligne


Mike,
Merci à toi aussi Mike-31
j'ai pensé donner un nom dynamique à mes cellules, mais je ne suis pas douée, cela a "buguer" d'entrée, j'ai renoncé (pour l'instant) je vais essayer ta solution (titi, toto, tutu etc...)

Pour ce qui est des macros, je débute. Je vais creuser.
Merci à tous les deux pour votre aide.

Ma formule "sommeprod" fonctionne correctement à nouveau. j'ai mis un 0 dans les cellules vides de la colonne N

Merci encore pour votre coopération.
0

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

Posez votre question
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
Modifié par Mike-31 le 3/01/2011 à 18:19
Salut,

Une idée rapide, nommer la dernière cellule, exemple feuille H_PROD cellule C251 tu la nomme exemple titi ce qui donnera dans ta formule C11:titi

H_PROD!C11:titi

idem pour la D251 que tu nommera exemple toto et la N251 ex.tutu
D11:toto et N11:tutu
tu devras veiller à insérer des lignes avant la ligne des cellules nommées

par contre si on passe par une macro la dernière cellule peut être détecté automatiquement à voir si tu as quelques notions en VBA
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
Modifié par Mike-31 le 3/01/2011 à 23:17
Re,

Pour nommer une cellule, clic sur la cellule exemple C11 puis Insertion/Nom/Définir dans Nom dans le classeur saisis exemple titi etc ... pour les autres

Autre possibilité plus rapide clic droit sur la cellule, dans la barre d'adresse s'affiche l'adresse de la cellule active saisir directement titi et Entrée

Il ne reste plus que remplacer C251 par titi, N251 par ...

Mais si la proposition de l'ami Vaucluse te convient c'est parfait.

Pour le VBA, le principe d'insérer des lignes ne résoudra pas le problème de tes formules la référence C251 par exemple restera C251 dans la formule ou écrire des lignes de code pour synchroniser la formule avec le nombre de lignes incérées

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0