Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

trouver la ligne d'une somme par rapport a une valeur

11 réponses
Avatar
ganj427
Bonjour,

je cherche depuis pas mal de temps une formule qui puisse me trouver la
somme qui se rapproche de
la valeur 100 par exemple et me renvoye la ligne. Exemple:

A B
ligne VALEUR
1 20
2 15
3 30
4 50
5 25

avec une valeur 100 que la formule me fasse la somme de 20+15+30+50
et me renvoye la ligne 5 ou pour la valeur 40 somme 20+15+30 ligne 3.
ou pour la valeur 25 somme 20+15 ligne 2. Et ceux toujours en
commencant par la premiere ligne

je vous remercie par avance

10 réponses

1 2
Avatar
Elliac
Bonjour,

Avec la valeur à atteindre en C8.
En C2 :
=SI(C1>=$C$8;1;FAUX)

En C3 :
=SI(OU(ESTNUM(D1);D1="");"";SI(SOMME($B$1:B2)>=$C$8;LIGNE();FAUX))

Camille

"" wrote:

Bonjour,

je cherche depuis pas mal de temps une formule qui puisse me trouver la
somme qui se rapproche de
la valeur 100 par exemple et me renvoye la ligne. Exemple:

A B
ligne VALEUR
1 20
2 15
3 30
4 50
5 25

avec une valeur 100 que la formule me fasse la somme de 20+15+30+50
et me renvoye la ligne 5 ou pour la valeur 40 somme 20+15+30 ligne 3.
ou pour la valeur 25 somme 20+15 ligne 2. Et ceux toujours en
commencant par la premiere ligne

je vous remercie par avance




Avatar
FxM
Bonjour,

Si j'ai bien décodée la question
http://cjoint.com/?lmnTKrJSQB

@+
FxM

Public Function fonction(à_chercher, plage_lignes, plage_nombres)
Dim somme As Long, indexe As Long
somme = 0: indexe = 0
Do Until somme >= à_chercher Or indexe >= plage_lignes.Cells.Count
indexe = indexe + 1
somme = somme + plage_nombres(indexe)
Loop

If somme >= à_chercher Then
fonction = indexe
Else
fonction = "Non atteint !"
End If
End Function

Usage :
=fonction(C3;B5:B13;C5:C13)
C3 contenant 100 (à atteindre ou dépasser)
B5:B13 -> plage des n° de ligne
C5:C13 -> plage des nombres



Bonjour,

je cherche depuis pas mal de temps une formule qui puisse me trouver la
somme qui se rapproche de
la valeur 100 par exemple et me renvoye la ligne. Exemple:

A B
ligne VALEUR
1 20
2 15
3 30
4 50
5 25

avec une valeur 100 que la formule me fasse la somme de 20+15+30+50
et me renvoye la ligne 5 ou pour la valeur 40 somme 20+15+30 ligne 3.
ou pour la valeur 25 somme 20+15 ligne 2. Et ceux toujours en
commencant par la premiere ligne

je vous remercie par avance



Avatar
AV
Dans un module :

Function ZZZ(Plage, Total)
For Each c In Plage
x = x + c.Value: z = z + 1
If x = Total Or x > Total Then Exit For
Next
ZZZ = z
End Function

Exemple dans la feuille :
=ZZZ(B1:B5;100)

AV
Avatar
ganj427
je vous remercie pour les reponse.s je cherche a adapter ce code vba en
incluant la notion de code produit c'est a dire qu'il me fasse ce
calcule pour un produit particulier.exemple :

Code produit = 3751 valeur = 50


A B B

ligne Code produit VALEUR
1 3751 20
2 3751 15
3 4012 30
4 4012 50
5 3751 25




pour le produit 3751 je voudrais savoir a quel ligne est atteint la
valeur 50. Ici, c'est la ligne 5

je vous remercie par avance pour vos precieux conseil et votre aide


Avatar
AV
je vous remercie pour les reponse.s je cherche a adapter ce code vba en
incluant la notion de code produit c'est a dire qu'il me fasse ce
calcule pour un produit particulier.exemple :


Function ZZZ(PlageCritère, Critère, PlageValeurs, Total)
For Each c In PlageCritère
indx = indx + 1
If c.Value = Critère Then
x = x + [PlageValeurs].Item(indx)
If x = Total Or x > Total Then Exit For
End If
Next
ZZZ = indx
End Function

http://cjoint.com/?lnppb75Xxa

AV

Avatar
ganj427
je vous remercie pour tous,

je vous sollicite encore car je cherche a inclure dans ce code un autre
critère : la date. Mes connaissances VBa étant limité je me permet
de vous le redemander. Je voudrais que le calcule s'effectue a partir
d'une date précise par rapport a un code produit et une valeur.
Exemple :

Date : 01/07/2006 Code produit = 3751 valeur = 40

A B C D

ligne Date Code produit VALEUR
1 15/04/2006 3751 20
2 03/07/2006 3751 20
3 01/01/2006 4012 30
4 05/02/2006 4012 50
5 15/08/2006 3751 30



pour le produit 3751 je voudrais savoir a quel ligne est atteint la
valeur 40 a partir du 01/07/2006. Ici, c'est la ligne 5

je vous remercie par avance pour votre aide


Avatar
FxM
Bonjour,

Ce serait top si tu voulais bien nous donner le problème complet plutôt
que de l'amener par bouts ... (c'est ce que l'on appelle une question 'à
tiroirs').

En reprenant la fonction de mon éminent collègue :
(Attention aux coupures de lignes!)
Function ZZZ(PlageCritère, Critère, PlageValeurs, Total, PlageDates, Date1)
For Each c In PlageCritère
indx = indx + 1
If c.Value = Critère and Date1 >= [PlageDates].Item(indx) Then
x = x + [PlageValeurs].Item(indx)
If x >= Total Then Exit For
End If
Next c
ZZZ = indx
End Function

Je sens que l'on va encore rigoler avec les dates saisies (inversion
mois/jour).

@+
FxM



je vous remercie pour tous,

je vous sollicite encore car je cherche a inclure dans ce code un autre
critère : la date. Mes connaissances VBa étant limité je me permet
de vous le redemander. Je voudrais que le calcule s'effectue a partir
d'une date précise par rapport a un code produit et une valeur.
Exemple :

Date : 01/07/2006 Code produit = 3751 valeur = 40

A B C D

ligne Date Code produit VALEUR
1 15/04/2006 3751 20
2 03/07/2006 3751 20
3 01/01/2006 4012 30
4 05/02/2006 4012 50
5 15/08/2006 3751 30



pour le produit 3751 je voudrais savoir a quel ligne est atteint la
valeur 40 a partir du 01/07/2006. Ici, c'est la ligne 5

je vous remercie par avance pour votre aide





Avatar
ganj427
Bonjour,

désolé pour les tiroirs. je t'explique l'ensemble de mon problème.Je
m'occupe de la gestion d'une
plateforme de stockage et je voudrais trouver une formule qui me
permette de calculer la durée de stockage d'un produit.

j'ai deux feuille cf http://cjoint.com/?lopZKgKKdR
une pour la reception
une pour les livraison

autre contrainte , il se peut que je recoive une palette d'un produit
alors que j'ai encore de ce produit est encore en stock. C'est pour
cela que je cherchais une formule qui puisse me trouver une somme par
rapport a une valeur.( sur le fichier cas des 2 dernières lignes).

Voila je te remercie par avance

@+
Avatar
FxM
Bonsoir,

J'ai directement oublié les formules pour macroter le bintz.
Ca mène là : http://cjoint.com/?louGDN1EKZ

Un cas n'est pas géré : plus de sorties que d'entrées.
Le code est commenté. Si tu as question, n'hésite pas à repasser.

@+
FxM


Bonjour,

désolé pour les tiroirs. je t'explique l'ensemble de mon problème.Je
m'occupe de la gestion d'une
plateforme de stockage et je voudrais trouver une formule qui me
permette de calculer la durée de stockage d'un produit.

j'ai deux feuille cf http://cjoint.com/?lopZKgKKdR
une pour la reception
une pour les livraison

autre contrainte , il se peut que je recoive une palette d'un produit
alors que j'ai encore de ce produit est encore en stock. C'est pour
cela que je cherchais une formule qui puisse me trouver une somme par
rapport a une valeur.( sur le fichier cas des 2 dernières lignes).

Voila je te remercie par avance

@+



Avatar
ganj427
Bonjour,

je te remercie beaucoup pour le boulot que tu as fait qui m enlève une
grosse épine du pied. j'espère que cela ne ta pas pris trop de
temps.Cela correspond a ce que je voulais. Juste une petite chose est
ce qu'il te serai possible de faire apparaitre sur la feuille "durée"
l'ensemble des mouvements qui concerne les produits en feuille
"reception" Pour notre exemple faire apparaitre les mouvements du code
3714 et 8814 plus d'autre que je rajouterai au fur et a mesure. au lieu
de les faire apparaitre individuellement.

Aprés j'essaierai de ne plus t'embeter : )

je te remercie par avances
1 2