> Tous les forums > Forum Bureautique
 fonction LIGNE provoque une erreur dans SOMMEPROD
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Boogie Palace
  Posté le 15/12/2011 @ 16:24 
Aller en bas de la page 
Petit astucien

bonjour le forum,

j'ai fait un petit fichier exemple pour illustrer un problème que j'ai rencontré : http://cjoint.com/?ALpqmKekAEd
tout y est expliqué.

le but est de compter le nombre de bleu dans un tableau dont le nombre de lignes est amené à varier.
enfin là je veux surtout comprendre pourquoi la fonction SOMMEPROD plante.
je ne vois pas quoi ajouter de plus, le titre du post annonce la couleur, et j'ai tout détaillé dans le fichier.


(j'utilise Excel 2000)

merci d'avance à vos neurones.
BP



Modifié par Boogie Palace le 15/12/2011 16:29
Publicité
gilbert_rgi
 Posté le 16/12/2011 à 14:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour

nommer l'ensemble du tableau "tableau" par exemple

et appliquer cette formule

=SOMMEPROD((DECALER($A$2;0;0;LIGNES(tableau)-2;1)="bleu")*(DECALER($B$2;0;0;LIGNES(tableau)-2;1)))

car la fonction est

- le N° de ligne de la 1ère ligne du tableau : =LIGNE(NomTableau)

- le N° de colonne de la 1ère colonne du tableau : =COLONNE(NomTableau)

- le Nombre de lignes du tableau NomTableau : = LIGNES(NomTableau)

- le Nombre de colonnes du tableau NomTableau : = COLONNES(NomTableau)



Modifié par gilbert_rgi le 16/12/2011 14:54
Boogie Palace
 Posté le 19/12/2011 à 10:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

merci Gilbert pour l'alternative que tu proposes.
mais je cherchais plus à comprendre pourquoi la fonction LIGNE, qui renvoie bien un nombre et qui fonctionne avec SOMME.SI, renvoie une erreur quand utilisée avec SOMMEPROD.
ça n'a pas de sens, et j'espérais qu'on m'en donne un, ou qu'on m'explique la bonne syntaxe si ça venait de la syntaxe.

gilbert_rgi
 Posté le 19/12/2011 à 11:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour

voilà la Syntaxe

LIGNE(référence)

référence est la cellule ou la plage de cellules dont vous voulez obtenir le numéro de ligne

dans votre exemple si vous remplacez LIGNE(A16) par E4 qui est le resultat de la fonction =LIGNE(A16) ça fonctionne

Boogie Palace
 Posté le 19/12/2011 à 11:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

la syntaxe LIGNE(référence), elle est respectée quand j'écris LIGNE(A16), d'ailleurs ça fonctionne dans ma formule avec SOMME.SI
et elle fonctionne telle quelle, LIGNE(A16) renvoie bien 16.

quant à l'efficacité de remplacer LIGNE(A16) par un nombre (ou une référence de cellule qui contient un nombre comme tu le proposes), je l'ai déjà démontré dans mon fichier, sur la ligne 16.

donc je ne suis pas plus avancé.

gilbert_rgi
 Posté le 19/12/2011 à 12:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Après avoir demandé des explications à divers barbatrucs (experts en la matière) aucun n'a pu me donner d'explications

désolè

jpr73
 Posté le 19/12/2011 à 19:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Je vous propose la formule :

=SOMMEPROD(--(DECALER($A$2;0;0;NBVAL(A:A)-2;1)="bleu")*DECALER($B$2;0;0;NBVAL(B:B)-2;1))

Vous avez une autre solution qui consiste à appliquer un nom défini à votre plage qui aura pour effet de s'implémenter automatiquement

Couleur ="DECALER($A$1;1;0;NBVAL($A:$A)-2)"

Nombre ="DECALER($B$1;1;0;NBVAL($B:$B)-2)"

La formule devient :

=SOMMEPROD(--(A2:A16="bleu");(B2:B16))

Et en nommant chaque plage :

=SOMMEPROD(--(_Couleur="bleu");_Nombre)

http://cjoint.com/?ALtttJBtbKh

Cordialement

gilbert_rgi
 Posté le 19/12/2011 à 23:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir

je ne crois pas que ce soit une proposition que Boogie Palace veut

il veut savoir pourquoi la fonction ligne ne fonctionne pas dans le cas de sommeprod

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Erreur n°6 (Overflow) dans fonction VBA
nb de liens dans une plage appartennant à la même ligne Horiz. ou verti...
Figer colonne ou ligne dans excell
Excell 2007: erreur dans formule
Calculer date en fonction d'une valeur dans une plage de cellules
Message d'erreur dans Outlook 2007
Message d'erreur windows dans office 2003
Macro introuvable / Erreur de compilation dans le module caché
Recherche d'une fonction dans EXCEL
doublons dans une ligne
Plus de sujets relatifs à fonction LIGNE provoque une erreur dans SOMMEPROD
 > Tous les forums > Forum Bureautique