Calcul complexe (avec sommeprod ?)

thomlau

XLDnaute Occasionnel
Bonjour à toutes et à tous.

J'ai un petit problème à vous soumettre. Je dois à mon avis utiliser une formule avec sommeprod, mais j'ai beau retourner le problème dans tous les sens, je nage, et ce depuis plus de 2 heures.

J'ai mis des explications à l'intérieur du fichier joint.

D'avance merci pour votre aide et bon début de WE.

A bientôt.
 

Pièces jointes

  • calculi avec Sommeprod.zip
    8.6 KB · Affichages: 56

thomlau

XLDnaute Occasionnel
Re : Calcul complexe (avec sommeprod ?)

Bonjour Criscris.

Je suis désolé de te dire que tu as trouvé éxactement ce que j'ai fais en cellule EX10.

Ce que je veux, si c'est possible, c'est de calculer le nombre d'heures qu'il à fallu pour préparer les 2288 colis.
J'ai du mal m'exprimer, excusez moi.

Merci pour ton aide.

++
 

Tibo

XLDnaute Barbatruc
Re : Calcul complexe (avec sommeprod ?)

Bonjour,

A essayer en EY10 :

Code:
=SOMMEPROD(($B$9:$EU$9="LAB")*1;$A$10:$ET$10)

Sinon, donne nous le résultat attendu, ca nous permet ainsi de tester aussi de notre côté

@+

Edit :

ou bien ceci :

Code:
=SOMMEPROD(($B$9:$EU$9="LAB")*ESTNUM($B$10:$EU$10);$A$10:$ET$10)

@+
 
Dernière édition:

thomlau

XLDnaute Occasionnel
Re : Calcul complexe (avec sommeprod ?)

Bonjour Tibo.

Ta formule ne fonctionne pas non plus, elle compte le nombres d'heures totales effectuées dans le mois.

Vraiment complexe ce calcul... :mad:

Merci pour ton aide.


La seconde formule proposée fonctionne. Encore merci et bon WE
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Calcul complexe (avec sommeprod ?)

Bonsoir,
Formule un peu compliquée il est vrai
Mais en VBA, peut-être, si j'ai compris qq chose
Sub CalculTemps()
Dim ValeurTemps As New Collection, cel
For Each cel In ActiveSheet.Range("B10:EU10")
If cel.Offset(-1, 0) = "Temps" And cel.Offset(0, 1) <> "" Then
ValeurTemps.Add cel
End If
Next
For i = 1 To ValeurTemps.Count
Range("EY10") = Range("EY10") + ValeurTemps(i)
Next
End Sub

A+
kjin
 

thomlau

XLDnaute Occasionnel
Re : Calcul complexe (avec sommeprod ?)

Bonsoir @ tous.

Je n'ai pas retenu le code vba de Kjin qui me donnait les bons résultats sur une ligne, mais comme mon tableau a 100 liges, .....

Parcontre, la seconde formule de Tibo fonctionne, mais que pour la valeur "LAB".

Je m'en remets à vous.

++
 

Pièces jointes

  • calcul avec Sommeprod.zip
    10.5 KB · Affichages: 30

thomlau

XLDnaute Occasionnel
Re : Calcul complexe (avec sommeprod ?)

Bonjour à tous.

J'avais bien dis que ce problème était vraiment complexe...Néanmoins, Tibo touche presque au but.
Ca fait quatre jours que ça me casse la tête et j'ai vraiment besoin de votre aide.

D'avance merci à ceux qui se pencheront (ou repencheront) sur ce problème

A bientôt, bonne journée.
 

JeanMarie

XLDnaute Barbatruc
Re : Calcul complexe (avec sommeprod ?)

Bonjour

Déjà dans ta formule de départ
Code:
=SI(SOMMEPROD(($B$9:$EU$9="Z26")*ESTNUM($B10:$EU10);$A10:$ET10)="";"";SI(SOMMEPROD(($B$9:$EU$9="Z26")*ESTNUM($B10:$EU10);$A10:$ET10)=0;"";SOMMEPROD(($B$9:$EU$9="Z26")*ESTNUM($B10:$EU10);$A10:$ET10)))
La première condition testant si la valeur retournée par SOMMEPROD est égale à "" ne sert absolument à rien. SOMMEPROD retournant une valeur numérique ou un message d'erreur.

Concernant ta problèmatique. Tu dois augmenter le décaler d'une colonne à chaque fois.
Pour LAB
Code:
=SOMMEPROD(($B$9:$EU$9="LAB")*ESTNUM($B10:$EU10);$A10:$ET10)
Pour LAIT
Code:
=SOMMEPROD(([COLOR="Red"]$C$9:$EV$9[/COLOR]="LAIT")*ESTNUM([COLOR="red"]$C10:$EV10[/COLOR]);$A10:$ET10)
Pour PPV
Code:
=SOMMEPROD(([COLOR="red"]$D$9:$EW$9[/COLOR]="PPV")*ESTNUM([COLOR="red"]$D10:$EW10[/COLOR]);$A10:$ET10)
Pour Z26
Code:
=SOMMEPROD(([COLOR="red"]$E$9:$EX$9[/COLOR]="Z26")*ESTNUM([COLOR="red"]$E10:$EX10[/COLOR]);$A10:$ET10)
J'utiliserai ESTVIDE à la place de ESTNUM, ce qui éviterai le basculement entre une cellule de Type 1 (numérique) et de Type 2 (texte).

SOMMEPROD étant très gourmand en ressource machine. Je remplacerai la formule =SI(EX10="";"";EX10/EY10) par =SI(EX10=0;"";EX10/EY10), ce qui éliminerai dû même coup la condition SOMMEPROD()=0;"";SOMMEPROD(). Pour masquer la valeur Zéro, utilisation du format personnalisé de cellule [=0]"";standard

@+Jean-Marie
 

Discussions similaires

Réponses
13
Affichages
474

Statistiques des forums

Discussions
312 470
Messages
2 088 698
Membres
103 925
dernier inscrit
Abdou Aziz