Merci à Piotr et anonymous de m'avoir répondu.
Je n'ai pas été assez clair par rapport à ma recherche.
En fait, j'ai 44 valeurs dans la plage de A1 à A44. En B1, j'ai une valeur
totale. Je sais que la somme de 24 éléments de ma plage donnent mon résultat
en B1.
Pour répondre à Piotr :
- As-tu toujours 44 valeurs ?
Non c'est variable comme la valeur totale le nombre d'éléments.
-Les sommes ne doivent-elles se faire que par 2 valeurs ou bien peut-il y en
avoir 3, 4, ... pour atteindre 32 (ou un autre nombre) ?
C'est variable. Ici, il m'en faut 24.
- Et si la valeur elle-même se trouve dans la liste (si on a un 32 dans les
5 valeurs), faut-il l'indiquer ou l'exclure. ?
L'exclure.
-Quand il y a plusieurs solutions (dans ton exemple, il y a également
15+17), y a-t-il une règle pour déterminer celle que l'on doit conserver ?
Pour l'instant aucune.
-Sous quelle forme souhaites-tu le résultat ?
Par exemple, les valeurs qui constituent la somme en rouge.
Je vais essayer de voir avec l'algo de Pierre, j'espérais qu'il existait une
fonction d'excel tout faite ;o)))
A+
Steph
Dans les cas plus complexes, je pense qu'il faut une fonction VB
spécifique... Mais je n'aurai pas le temps de te l'écrire car je dois m'en
aller bientôt. Dans un cas général, je verrais bien une fonction récursive
du genre (écrite plus en algo qu'en VB : il faudra traduire) :
function TrouveSomme(Plage;Cible;n) as string
dim x as string
Si Plage.Count<n alors TrouveSomme=""
Si Plage(n)=Cible alors TrouveSomme=Plage(n)
Sinon si Page(n)>Cible alors TrouveSomme=TrouveSomme(Plage,Cible,n+1)
Sinon si Plage(n)<Cible alors
x=TrouveSomme(Plage,Cible-Plage(n),n+1)
Si x="" alors TrouveSomme=TrouveSomme(Plage,Cible,n+1)
Sinon TrouveSomme=Plage(n) & "+" & x
Fin.Si
Fin.Si
End Function
Plage est la liste de valeur, Cible la valeur à rechercher par une somme, et
au début n vaut 1 (c'est le numéro d'ordre dans la liste).
En l'état, la fonction s'arrête dès qu'elle trouve une solution. Il doit y
avoir possibilité de la faire continuer pour toutes les trouver, mais il
faut étudier le moyen de stocker le résultat.
Je ne sais pas si Excel accepte bien les fonctions récursives.
Et puis il y a peut-être moyen d'optimiser cela en triant la liste de
données par ordre croissant.
A creuser.
J'espère que cela t'aidera.
Bon courage.
Pierre.
> > Bonjour,
> >
> > Je me demandais s'il existait une fonction ou macro pour trouver par
> exemple
> > dans une plage de 5 valeurs, quelles sont les valeurs de cette plage qui
> > donnent une somme précise.
> >
> > Merci d'avance
> > Stéphane
>
> Oups je suis désolé, je crois que je n'ai pas été assez clair.
>
> Par exemple, j'ai des valeurs 12 15 17 20 56 et je voudrais savoir quelles
> sont les 2 valeurs qui me donnent en les ajoutant 32, ici en l'occurrence
12
> et 20.
>
> Merci pour votre aide
>
>
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gafish
Bonjour,
En fait, ton problème ressemble au fameux problème du "Compte est bon", sauf qu'il est par un côté moins complexe (tu n'as que la somme) et par un côté plus complexe (on peut avoir x opération). D'un autre côté, le nombre maxi d'opérations est déterminable facilement, c'est le nombre de chiffres que tu as moins 1. Il existe sur le net des algorythmes pour le compte est bon (je m'étais interessé à ce problème il y a quelque temps). Tu devrais pouvoir trouver cela et l'adapter à ton problème. Il est probable qu'il existe en VB.
Arnaud
-----Message d'origine----- Bonjour,
Merci à Piotr et anonymous de m'avoir répondu. Je n'ai pas été assez clair par rapport à ma recherche.
En fait, j'ai 44 valeurs dans la plage de A1 à A44. En B1, j'ai une valeur
totale. Je sais que la somme de 24 éléments de ma plage donnent mon résultat
en B1.
Pour répondre à Piotr :
- As-tu toujours 44 valeurs ? Non c'est variable comme la valeur totale le nombre d'éléments.
-Les sommes ne doivent-elles se faire que par 2 valeurs ou bien peut-il y en
avoir 3, 4, ... pour atteindre 32 (ou un autre nombre) ? C'est variable. Ici, il m'en faut 24.
- Et si la valeur elle-même se trouve dans la liste (si on a un 32 dans les
5 valeurs), faut-il l'indiquer ou l'exclure. ? L'exclure.
-Quand il y a plusieurs solutions (dans ton exemple, il y a également
15+17), y a-t-il une règle pour déterminer celle que l'on doit conserver ?
Pour l'instant aucune.
-Sous quelle forme souhaites-tu le résultat ? Par exemple, les valeurs qui constituent la somme en rouge.
Je vais essayer de voir avec l'algo de Pierre, j'espérais qu'il existait une
fonction d'excel tout faite ;o)))
A+ Steph
Dans les cas plus complexes, je pense qu'il faut une fonction VB
spécifique... Mais je n'aurai pas le temps de te l'écrire car je dois m'en
aller bientôt. Dans un cas général, je verrais bien une fonction récursive
du genre (écrite plus en algo qu'en VB : il faudra traduire) :
function TrouveSomme(Plage;Cible;n) as string dim x as string Si Plage.Count<n alors TrouveSomme="" Si Plage(n)=Cible alors TrouveSomme=Plage(n) Sinon si Page(n)>Cible alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon si Plage(n)<Cible alors x=TrouveSomme(Plage,Cible-Plage(n),n+1) Si x="" alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon TrouveSomme=Plage(n) & "+" & x Fin.Si Fin.Si End Function Plage est la liste de valeur, Cible la valeur à rechercher par une somme, et
au début n vaut 1 (c'est le numéro d'ordre dans la liste). En l'état, la fonction s'arrête dès qu'elle trouve une solution. Il doit y
avoir possibilité de la faire continuer pour toutes les trouver, mais il
faut étudier le moyen de stocker le résultat.
Je ne sais pas si Excel accepte bien les fonctions récursives.
Et puis il y a peut-être moyen d'optimiser cela en triant la liste de
données par ordre croissant. A creuser.
J'espère que cela t'aidera.
Bon courage. Pierre.
Bonjour,
Je me demandais s'il existait une fonction ou macro pour trouver par
exemple
dans une plage de 5 valeurs, quelles sont les valeurs de cette plage qui
donnent une somme précise.
Merci d'avance Stéphane
Oups je suis désolé, je crois que je n'ai pas été assez clair.
Par exemple, j'ai des valeurs 12 15 17 20 56 et je voudrais savoir quelles
sont les 2 valeurs qui me donnent en les ajoutant 32, ici en l'occurrence
12
et 20.
Merci pour votre aide
.
Bonjour,
En fait, ton problème ressemble au fameux problème
du "Compte est bon", sauf qu'il est par un côté moins
complexe (tu n'as que la somme) et par un côté plus
complexe (on peut avoir x opération).
D'un autre côté, le nombre maxi d'opérations est
déterminable facilement, c'est le nombre de chiffres que
tu as moins 1.
Il existe sur le net des algorythmes pour le compte est
bon (je m'étais interessé à ce problème il y a quelque
temps). Tu devrais pouvoir trouver cela et l'adapter à ton
problème. Il est probable qu'il existe en VB.
Arnaud
-----Message d'origine-----
Bonjour,
Merci à Piotr et anonymous de m'avoir répondu.
Je n'ai pas été assez clair par rapport à ma recherche.
En fait, j'ai 44 valeurs dans la plage de A1 à A44. En
B1, j'ai une valeur
totale. Je sais que la somme de 24 éléments de ma plage
donnent mon résultat
en B1.
Pour répondre à Piotr :
- As-tu toujours 44 valeurs ?
Non c'est variable comme la valeur totale le nombre
d'éléments.
-Les sommes ne doivent-elles se faire que par 2 valeurs
ou bien peut-il y en
avoir 3, 4, ... pour atteindre 32 (ou un autre nombre) ?
C'est variable. Ici, il m'en faut 24.
- Et si la valeur elle-même se trouve dans la liste (si
on a un 32 dans les
5 valeurs), faut-il l'indiquer ou l'exclure. ?
L'exclure.
-Quand il y a plusieurs solutions (dans ton exemple, il y
a également
15+17), y a-t-il une règle pour déterminer celle que l'on
doit conserver ?
Pour l'instant aucune.
-Sous quelle forme souhaites-tu le résultat ?
Par exemple, les valeurs qui constituent la somme en
rouge.
Je vais essayer de voir avec l'algo de Pierre, j'espérais
qu'il existait une
fonction d'excel tout faite ;o)))
A+
Steph
Dans les cas plus complexes, je pense qu'il faut une
fonction VB
spécifique... Mais je n'aurai pas le temps de te l'écrire
car je dois m'en
aller bientôt. Dans un cas général, je verrais bien une
fonction récursive
du genre (écrite plus en algo qu'en VB : il faudra
traduire) :
function TrouveSomme(Plage;Cible;n) as string
dim x as string
Si Plage.Count<n alors TrouveSomme=""
Si Plage(n)=Cible alors TrouveSomme=Plage(n)
Sinon si Page(n)>Cible alors TrouveSomme=TrouveSomme
(Plage,Cible,n+1)
Sinon si Plage(n)<Cible alors
x=TrouveSomme(Plage,Cible-Plage(n),n+1)
Si x="" alors TrouveSomme=TrouveSomme
(Plage,Cible,n+1)
Sinon TrouveSomme=Plage(n) & "+" & x
Fin.Si
Fin.Si
End Function
Plage est la liste de valeur, Cible la valeur à
rechercher par une somme, et
au début n vaut 1 (c'est le numéro d'ordre dans la liste).
En l'état, la fonction s'arrête dès qu'elle trouve une
solution. Il doit y
avoir possibilité de la faire continuer pour toutes les
trouver, mais il
faut étudier le moyen de stocker le résultat.
Je ne sais pas si Excel accepte bien les fonctions
récursives.
Et puis il y a peut-être moyen d'optimiser cela en triant
la liste de
données par ordre croissant.
A creuser.
J'espère que cela t'aidera.
Bon courage.
Pierre.
Bonjour,
Je me demandais s'il existait une fonction ou macro
pour trouver par
exemple
dans une plage de 5 valeurs, quelles sont les valeurs
de cette plage qui
donnent une somme précise.
Merci d'avance
Stéphane
Oups je suis désolé, je crois que je n'ai pas été assez
clair.
Par exemple, j'ai des valeurs 12 15 17 20 56 et je
voudrais savoir quelles
sont les 2 valeurs qui me donnent en les ajoutant 32,
ici en l'occurrence
En fait, ton problème ressemble au fameux problème du "Compte est bon", sauf qu'il est par un côté moins complexe (tu n'as que la somme) et par un côté plus complexe (on peut avoir x opération). D'un autre côté, le nombre maxi d'opérations est déterminable facilement, c'est le nombre de chiffres que tu as moins 1. Il existe sur le net des algorythmes pour le compte est bon (je m'étais interessé à ce problème il y a quelque temps). Tu devrais pouvoir trouver cela et l'adapter à ton problème. Il est probable qu'il existe en VB.
Arnaud
-----Message d'origine----- Bonjour,
Merci à Piotr et anonymous de m'avoir répondu. Je n'ai pas été assez clair par rapport à ma recherche.
En fait, j'ai 44 valeurs dans la plage de A1 à A44. En B1, j'ai une valeur
totale. Je sais que la somme de 24 éléments de ma plage donnent mon résultat
en B1.
Pour répondre à Piotr :
- As-tu toujours 44 valeurs ? Non c'est variable comme la valeur totale le nombre d'éléments.
-Les sommes ne doivent-elles se faire que par 2 valeurs ou bien peut-il y en
avoir 3, 4, ... pour atteindre 32 (ou un autre nombre) ? C'est variable. Ici, il m'en faut 24.
- Et si la valeur elle-même se trouve dans la liste (si on a un 32 dans les
5 valeurs), faut-il l'indiquer ou l'exclure. ? L'exclure.
-Quand il y a plusieurs solutions (dans ton exemple, il y a également
15+17), y a-t-il une règle pour déterminer celle que l'on doit conserver ?
Pour l'instant aucune.
-Sous quelle forme souhaites-tu le résultat ? Par exemple, les valeurs qui constituent la somme en rouge.
Je vais essayer de voir avec l'algo de Pierre, j'espérais qu'il existait une
fonction d'excel tout faite ;o)))
A+ Steph
Dans les cas plus complexes, je pense qu'il faut une fonction VB
spécifique... Mais je n'aurai pas le temps de te l'écrire car je dois m'en
aller bientôt. Dans un cas général, je verrais bien une fonction récursive
du genre (écrite plus en algo qu'en VB : il faudra traduire) :
function TrouveSomme(Plage;Cible;n) as string dim x as string Si Plage.Count<n alors TrouveSomme="" Si Plage(n)=Cible alors TrouveSomme=Plage(n) Sinon si Page(n)>Cible alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon si Plage(n)<Cible alors x=TrouveSomme(Plage,Cible-Plage(n),n+1) Si x="" alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon TrouveSomme=Plage(n) & "+" & x Fin.Si Fin.Si End Function Plage est la liste de valeur, Cible la valeur à rechercher par une somme, et
au début n vaut 1 (c'est le numéro d'ordre dans la liste). En l'état, la fonction s'arrête dès qu'elle trouve une solution. Il doit y
avoir possibilité de la faire continuer pour toutes les trouver, mais il
faut étudier le moyen de stocker le résultat.
Je ne sais pas si Excel accepte bien les fonctions récursives.
Et puis il y a peut-être moyen d'optimiser cela en triant la liste de
données par ordre croissant. A creuser.
J'espère que cela t'aidera.
Bon courage. Pierre.
Bonjour,
Je me demandais s'il existait une fonction ou macro pour trouver par
exemple
dans une plage de 5 valeurs, quelles sont les valeurs de cette plage qui
donnent une somme précise.
Merci d'avance Stéphane
Oups je suis désolé, je crois que je n'ai pas été assez clair.
Par exemple, j'ai des valeurs 12 15 17 20 56 et je voudrais savoir quelles
sont les 2 valeurs qui me donnent en les ajoutant 32, ici en l'occurrence
12
et 20.
Merci pour votre aide
.
La réponse que je t'ai envoyée fonctionne si tu mets le chiffre en A1 et les autres en B1:Bxx et ça fonctionne, je l'ai testée pour mon boulot.
donc les valeurs sont placées non pas en A1:Axx mais en B1 !!! Bye
-----Message d'origine----- Bonjour,
Merci à Piotr et anonymous de m'avoir répondu. Je n'ai pas été assez clair par rapport à ma recherche.
En fait, j'ai 44 valeurs dans la plage de A1 à A44. En B1, j'ai une valeur
totale. Je sais que la somme de 24 éléments de ma plage donnent mon résultat
en B1.
Pour répondre à Piotr :
- As-tu toujours 44 valeurs ? Non c'est variable comme la valeur totale le nombre d'éléments.
-Les sommes ne doivent-elles se faire que par 2 valeurs ou bien peut-il y en
avoir 3, 4, ... pour atteindre 32 (ou un autre nombre) ? C'est variable. Ici, il m'en faut 24.
- Et si la valeur elle-même se trouve dans la liste (si on a un 32 dans les
5 valeurs), faut-il l'indiquer ou l'exclure. ? L'exclure.
-Quand il y a plusieurs solutions (dans ton exemple, il y a également
15+17), y a-t-il une règle pour déterminer celle que l'on doit conserver ?
Pour l'instant aucune.
-Sous quelle forme souhaites-tu le résultat ? Par exemple, les valeurs qui constituent la somme en rouge.
Je vais essayer de voir avec l'algo de Pierre, j'espérais qu'il existait une
fonction d'excel tout faite ;o)))
A+ Steph
Dans les cas plus complexes, je pense qu'il faut une fonction VB
spécifique... Mais je n'aurai pas le temps de te l'écrire car je dois m'en
aller bientôt. Dans un cas général, je verrais bien une fonction récursive
du genre (écrite plus en algo qu'en VB : il faudra traduire) :
function TrouveSomme(Plage;Cible;n) as string dim x as string Si Plage.Count<n alors TrouveSomme="" Si Plage(n)=Cible alors TrouveSomme=Plage(n) Sinon si Page(n)>Cible alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon si Plage(n)<Cible alors x=TrouveSomme(Plage,Cible-Plage(n),n+1) Si x="" alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon TrouveSomme=Plage(n) & "+" & x Fin.Si Fin.Si End Function Plage est la liste de valeur, Cible la valeur à rechercher par une somme, et
au début n vaut 1 (c'est le numéro d'ordre dans la liste). En l'état, la fonction s'arrête dès qu'elle trouve une solution. Il doit y
avoir possibilité de la faire continuer pour toutes les trouver, mais il
faut étudier le moyen de stocker le résultat.
Je ne sais pas si Excel accepte bien les fonctions récursives.
Et puis il y a peut-être moyen d'optimiser cela en triant la liste de
données par ordre croissant. A creuser.
J'espère que cela t'aidera.
Bon courage. Pierre.
Bonjour,
Je me demandais s'il existait une fonction ou macro pour trouver par
exemple
dans une plage de 5 valeurs, quelles sont les valeurs de cette plage qui
donnent une somme précise.
Merci d'avance Stéphane
Oups je suis désolé, je crois que je n'ai pas été assez clair.
Par exemple, j'ai des valeurs 12 15 17 20 56 et je voudrais savoir quelles
sont les 2 valeurs qui me donnent en les ajoutant 32, ici en l'occurrence
12
et 20.
Merci pour votre aide
.
La réponse que je t'ai envoyée fonctionne si tu mets le
chiffre en A1 et les autres en B1:Bxx et ça fonctionne, je
l'ai testée pour mon boulot.
donc les valeurs sont placées non pas en A1:Axx mais en
B1 !!!
Bye
-----Message d'origine-----
Bonjour,
Merci à Piotr et anonymous de m'avoir répondu.
Je n'ai pas été assez clair par rapport à ma recherche.
En fait, j'ai 44 valeurs dans la plage de A1 à A44. En
B1, j'ai une valeur
totale. Je sais que la somme de 24 éléments de ma plage
donnent mon résultat
en B1.
Pour répondre à Piotr :
- As-tu toujours 44 valeurs ?
Non c'est variable comme la valeur totale le nombre
d'éléments.
-Les sommes ne doivent-elles se faire que par 2 valeurs
ou bien peut-il y en
avoir 3, 4, ... pour atteindre 32 (ou un autre nombre) ?
C'est variable. Ici, il m'en faut 24.
- Et si la valeur elle-même se trouve dans la liste (si
on a un 32 dans les
5 valeurs), faut-il l'indiquer ou l'exclure. ?
L'exclure.
-Quand il y a plusieurs solutions (dans ton exemple, il y
a également
15+17), y a-t-il une règle pour déterminer celle que l'on
doit conserver ?
Pour l'instant aucune.
-Sous quelle forme souhaites-tu le résultat ?
Par exemple, les valeurs qui constituent la somme en
rouge.
Je vais essayer de voir avec l'algo de Pierre, j'espérais
qu'il existait une
fonction d'excel tout faite ;o)))
A+
Steph
Dans les cas plus complexes, je pense qu'il faut une
fonction VB
spécifique... Mais je n'aurai pas le temps de te l'écrire
car je dois m'en
aller bientôt. Dans un cas général, je verrais bien une
fonction récursive
du genre (écrite plus en algo qu'en VB : il faudra
traduire) :
function TrouveSomme(Plage;Cible;n) as string
dim x as string
Si Plage.Count<n alors TrouveSomme=""
Si Plage(n)=Cible alors TrouveSomme=Plage(n)
Sinon si Page(n)>Cible alors TrouveSomme=TrouveSomme
(Plage,Cible,n+1)
Sinon si Plage(n)<Cible alors
x=TrouveSomme(Plage,Cible-Plage(n),n+1)
Si x="" alors TrouveSomme=TrouveSomme
(Plage,Cible,n+1)
Sinon TrouveSomme=Plage(n) & "+" & x
Fin.Si
Fin.Si
End Function
Plage est la liste de valeur, Cible la valeur à
rechercher par une somme, et
au début n vaut 1 (c'est le numéro d'ordre dans la liste).
En l'état, la fonction s'arrête dès qu'elle trouve une
solution. Il doit y
avoir possibilité de la faire continuer pour toutes les
trouver, mais il
faut étudier le moyen de stocker le résultat.
Je ne sais pas si Excel accepte bien les fonctions
récursives.
Et puis il y a peut-être moyen d'optimiser cela en triant
la liste de
données par ordre croissant.
A creuser.
J'espère que cela t'aidera.
Bon courage.
Pierre.
Bonjour,
Je me demandais s'il existait une fonction ou macro
pour trouver par
exemple
dans une plage de 5 valeurs, quelles sont les valeurs
de cette plage qui
donnent une somme précise.
Merci d'avance
Stéphane
Oups je suis désolé, je crois que je n'ai pas été assez
clair.
Par exemple, j'ai des valeurs 12 15 17 20 56 et je
voudrais savoir quelles
sont les 2 valeurs qui me donnent en les ajoutant 32,
ici en l'occurrence
La réponse que je t'ai envoyée fonctionne si tu mets le chiffre en A1 et les autres en B1:Bxx et ça fonctionne, je l'ai testée pour mon boulot.
donc les valeurs sont placées non pas en A1:Axx mais en B1 !!! Bye
-----Message d'origine----- Bonjour,
Merci à Piotr et anonymous de m'avoir répondu. Je n'ai pas été assez clair par rapport à ma recherche.
En fait, j'ai 44 valeurs dans la plage de A1 à A44. En B1, j'ai une valeur
totale. Je sais que la somme de 24 éléments de ma plage donnent mon résultat
en B1.
Pour répondre à Piotr :
- As-tu toujours 44 valeurs ? Non c'est variable comme la valeur totale le nombre d'éléments.
-Les sommes ne doivent-elles se faire que par 2 valeurs ou bien peut-il y en
avoir 3, 4, ... pour atteindre 32 (ou un autre nombre) ? C'est variable. Ici, il m'en faut 24.
- Et si la valeur elle-même se trouve dans la liste (si on a un 32 dans les
5 valeurs), faut-il l'indiquer ou l'exclure. ? L'exclure.
-Quand il y a plusieurs solutions (dans ton exemple, il y a également
15+17), y a-t-il une règle pour déterminer celle que l'on doit conserver ?
Pour l'instant aucune.
-Sous quelle forme souhaites-tu le résultat ? Par exemple, les valeurs qui constituent la somme en rouge.
Je vais essayer de voir avec l'algo de Pierre, j'espérais qu'il existait une
fonction d'excel tout faite ;o)))
A+ Steph
Dans les cas plus complexes, je pense qu'il faut une fonction VB
spécifique... Mais je n'aurai pas le temps de te l'écrire car je dois m'en
aller bientôt. Dans un cas général, je verrais bien une fonction récursive
du genre (écrite plus en algo qu'en VB : il faudra traduire) :
function TrouveSomme(Plage;Cible;n) as string dim x as string Si Plage.Count<n alors TrouveSomme="" Si Plage(n)=Cible alors TrouveSomme=Plage(n) Sinon si Page(n)>Cible alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon si Plage(n)<Cible alors x=TrouveSomme(Plage,Cible-Plage(n),n+1) Si x="" alors TrouveSomme=TrouveSomme (Plage,Cible,n+1)
Sinon TrouveSomme=Plage(n) & "+" & x Fin.Si Fin.Si End Function Plage est la liste de valeur, Cible la valeur à rechercher par une somme, et
au début n vaut 1 (c'est le numéro d'ordre dans la liste). En l'état, la fonction s'arrête dès qu'elle trouve une solution. Il doit y
avoir possibilité de la faire continuer pour toutes les trouver, mais il
faut étudier le moyen de stocker le résultat.
Je ne sais pas si Excel accepte bien les fonctions récursives.
Et puis il y a peut-être moyen d'optimiser cela en triant la liste de
données par ordre croissant. A creuser.
J'espère que cela t'aidera.
Bon courage. Pierre.
Bonjour,
Je me demandais s'il existait une fonction ou macro pour trouver par
exemple
dans une plage de 5 valeurs, quelles sont les valeurs de cette plage qui
donnent une somme précise.
Merci d'avance Stéphane
Oups je suis désolé, je crois que je n'ai pas été assez clair.
Par exemple, j'ai des valeurs 12 15 17 20 56 et je voudrais savoir quelles
sont les 2 valeurs qui me donnent en les ajoutant 32, ici en l'occurrence
12
et 20.
Merci pour votre aide
.
Angel Dust
"Gafish" a écrit dans le message news: 00a201c3bdab$cb755ef0$ Bonjour,
En fait, ton problème ressemble au fameux problème du "Compte est bon", sauf qu'il est par un côté moins complexe (tu n'as que la somme) et par un côté plus complexe (on peut avoir x opération). D'un autre côté, le nombre maxi d'opérations est déterminable facilement, c'est le nombre de chiffres que tu as moins 1. Il existe sur le net des algorythmes pour le compte est bon (je m'étais interessé à ce problème il y a quelque temps). Tu devrais pouvoir trouver cela et l'adapter à ton problème. Il est probable qu'il existe en VB. Arnaud
Bonjour,
Oui c'est exactement cela, le compte est bon. Je vais le rechercher. Merci
"Gafish" <anonymous@discussions.microsoft.com> a écrit dans le message news:
00a201c3bdab$cb755ef0$a301280a@phx.gbl...
Bonjour,
En fait, ton problème ressemble au fameux problème
du "Compte est bon", sauf qu'il est par un côté moins
complexe (tu n'as que la somme) et par un côté plus
complexe (on peut avoir x opération).
D'un autre côté, le nombre maxi d'opérations est
déterminable facilement, c'est le nombre de chiffres que
tu as moins 1.
Il existe sur le net des algorythmes pour le compte est
bon (je m'étais interessé à ce problème il y a quelque
temps). Tu devrais pouvoir trouver cela et l'adapter à ton
problème. Il est probable qu'il existe en VB.
Arnaud
Bonjour,
Oui c'est exactement cela, le compte est bon. Je vais le rechercher.
Merci
"Gafish" a écrit dans le message news: 00a201c3bdab$cb755ef0$ Bonjour,
En fait, ton problème ressemble au fameux problème du "Compte est bon", sauf qu'il est par un côté moins complexe (tu n'as que la somme) et par un côté plus complexe (on peut avoir x opération). D'un autre côté, le nombre maxi d'opérations est déterminable facilement, c'est le nombre de chiffres que tu as moins 1. Il existe sur le net des algorythmes pour le compte est bon (je m'étais interessé à ce problème il y a quelque temps). Tu devrais pouvoir trouver cela et l'adapter à ton problème. Il est probable qu'il existe en VB. Arnaud
Bonjour,
Oui c'est exactement cela, le compte est bon. Je vais le rechercher. Merci
Angel Dust
a écrit dans le message news: fc7c01c3be25$a66c03f0$ La réponse que je t'ai envoyée fonctionne si tu mets le chiffre en A1 et les autres en B1:Bxx et ça fonctionne, je l'ai testée pour mon boulot.
donc les valeurs sont placées non pas en A1:Axx mais en B1 !!! Bye
Bonjour, oui merci. J'ai vu qu'elle fonctionnait pour un nombre indéfini d'élements "participant" à cette somme. Il faut en fait que je puisse définir un nombre d'élements de la somme, pour éviter de vite me retrouver en dépassement de capacité. J'ai fait un test avec 44 valeurs et le fait qu'il y ait plus de 17 000 milliards de possibilités m'a tout scratché ;o))) A+ Stéphane
<anonymous@discussions.microsoft.com> a écrit dans le message news:
fc7c01c3be25$a66c03f0$a601280a@phx.gbl...
La réponse que je t'ai envoyée fonctionne si tu mets le
chiffre en A1 et les autres en B1:Bxx et ça fonctionne, je
l'ai testée pour mon boulot.
donc les valeurs sont placées non pas en A1:Axx mais en
B1 !!!
Bye
Bonjour, oui merci.
J'ai vu qu'elle fonctionnait pour un nombre indéfini d'élements
"participant" à cette somme.
Il faut en fait que je puisse définir un nombre d'élements de la somme, pour
éviter de vite me retrouver en dépassement de capacité.
J'ai fait un test avec 44 valeurs et le fait qu'il y ait plus de 17 000
milliards de possibilités m'a tout scratché ;o)))
A+
Stéphane
a écrit dans le message news: fc7c01c3be25$a66c03f0$ La réponse que je t'ai envoyée fonctionne si tu mets le chiffre en A1 et les autres en B1:Bxx et ça fonctionne, je l'ai testée pour mon boulot.
donc les valeurs sont placées non pas en A1:Axx mais en B1 !!! Bye
Bonjour, oui merci. J'ai vu qu'elle fonctionnait pour un nombre indéfini d'élements "participant" à cette somme. Il faut en fait que je puisse définir un nombre d'élements de la somme, pour éviter de vite me retrouver en dépassement de capacité. J'ai fait un test avec 44 valeurs et le fait qu'il y ait plus de 17 000 milliards de possibilités m'a tout scratché ;o))) A+ Stéphane