tableau avec nombre de produit possible dans un carton

candy91

XLDnaute Nouveau
Bonjour je suis nouvelle sur ce forum et je tente ma chance...

J'aurais besoin de créer un tableau qui m'indiquerait combien de produit (même produit) ou (combinaison de produit) je peux mettre dans un carton ? et ça je sais vraiment pas faire...

Si quelqu'un peut m'aider ce serait gentil

Merci,

Candy

----------------

j'ai trouvé un fichier qui pourrait m'aller mais il n'y a qu'un choix de produit ?
 

Pièces jointes

  • tableau.xls
    13.5 KB · Affichages: 96
  • tableau.xls
    13.5 KB · Affichages: 87
  • tableau.xls
    13.5 KB · Affichages: 88
  • Nb produit.xls
    32 KB · Affichages: 75
  • Nb produit.xls
    32 KB · Affichages: 94
  • Nb produit.xls
    32 KB · Affichages: 90
Dernière édition:

job75

XLDnaute Barbatruc
Re : tableau avec nombre de produit possible dans un carton

Bonjour candy91, bienvenue sur XLD,

Pas mal pour un 1er post.

Malheureusement pas sûr que vous obteniez ici une solution.

Car c'est un problème compliqué si chaque produit peut être rangé dans n'importe quelle position.

A+
 

Habitude

XLDnaute Accro
Re : tableau avec nombre de produit possible dans un carton

Bonjour à tous

En fait.
Tu prends ton produit le plus gros et tu calcul de le maximum que tu peux mettre dans une boite et ce dans toutes les directions.
ET tu boucle de Max à 0
A l'Intérieur de ta boucle, tu fais le même calcul pour le 2ieme produit.
Que tu boucle de Max à 0.
et à l'intérieur de cette boucle, tu calcul le max de plus petits produits.

Pour Obtenir X facon différentes de remplir ta caisse
 

candy91

XLDnaute Nouveau
Re : tableau avec nombre de produit possible dans un carton

Merci pour les réponses,

Mais j'ai pas tout compris, j'ai vraiment des notions de base sur excel et pas un esprit matheu ...un boulet en fait...

Bonjour à tous

En fait.
Tu prends ton produit le plus gros et tu calcul de le maximum que tu peux mettre dans une boite et ce dans toutes les directions.
ET tu boucle de Max à 0
A l'Intérieur de ta boucle, tu fais le même calcul pour le 2ieme produit.
Que tu boucle de Max à 0.
et à l'intérieur de cette boucle, tu calcul le max de plus petits produits.

Pour Obtenir X facon différentes de remplir ta caisse
 

Misange

XLDnaute Barbatruc
Re : tableau avec nombre de produit possible dans un carton

Bonjour

et oui ça a l'air super simple comme question, et tellement quotidien. Mais ça donne lieu au développement de méthodes mathématiques fort complexes
Problème du sac à dos - Wikipédia
Tu peux assez facilement calculer le nombre maximum de boites d'une taille X que tu peux entrer dans une autre mais la résolution complète du problème n'appelle pas de solution facile. Comme habitude, je te suggère de t'y essayer avec un papier et un crayon et de simplifier ensuite la question que tu poses.
 

job75

XLDnaute Barbatruc
Re : tableau avec nombre de produit possible dans un carton

Bonjour candy91, Habitude, Misange,

J'avais étudié il y a longtemps la manière de remplir un container avec des colis.

Voyez le fichier joint avec ces fonctions :

Code:
Function CONT(Cx, Cy, Cz, x, y, z, o)
'Cx Cy Cz dimensions container
'x y z dimensions colis
'Si o = "oui", z1 = z
'La fonction renvoie un vecteur(n,p,x1,y1,z1,a,b,c,d,e,f,g) où:
'n nombre maximum de colis
'p coefficient de remplissage
'Sur Cx: a*x1(sur b rangs)+c*y1(sur d rangs)
'Sur Cy: b*y1(sur a rangs)+e*x1(sur f rangs)
'Sur Cz: g*z1
Dim U, V
Cx = Abs(Cx)
Cy = Abs(Cy)
Cz = Abs(Cz)
x = Abs(x)
y = Abs(y)
z = Abs(z)
U = Fo(Cx, Cy, Cz, x, y, z)
V = Fo(Cx, Cy, Cz, y, x, z)
If V(0) > U(0) Then U = V
If o <> "oui" Then
V = Fo(Cx, Cy, Cz, x, z, y)
If V(0) > U(0) Then U = V
V = Fo(Cx, Cy, Cz, z, x, y)
If V(0) > U(0) Then U = V
V = Fo(Cx, Cy, Cz, y, z, x)
If V(0) > U(0) Then U = V
V = Fo(Cx, Cy, Cz, z, y, x)
If V(0) > U(0) Then U = V
End If
CONT = U
End Function

Function Fo(Cx, Cy, Cz, x, y, z)
Dim a!, a1!, b!, b0!, b1!, c!, c1!, d!, e!, e1!, f!, g!, n!, n1!
d = Int(Cy / x)
f = Int(Cx / y)
g = Int(Cz / z)
b0 = Int(Cy / y)
For a = Int(Cx / x) * Sgn(g) To 1 Step -1
c = Int((Cx - a * x) / y)
For b = b0 To 1 Step -1
e = Int((Cy - b * y) / x)
n = a * b + c * (d - e) + e * f
If n > n1 Then
n1 = n
a1 = a
b1 = b
c1 = c
e1 = e
End If
Next
Next
Fo = Array(n1 * g, n1 * g * x * y * z / Cx / Cy / Cz, x, y, z, a1, b1, c1 * Sgn(d - e1), (d - e1) * Sgn(c1), e1 * Sgn(f), f * Sgn(e1), g)
End Function
La fonction Fo est une fonction auxiliaire qui peut servir dans d'autres procédures.

La fonction CONT renvoie un vecteur, voyez les explications.

L'argument o est utilisé pour l'orientation : si o ="oui" l'orientation du colis est figée.

A+
 

Pièces jointes

  • Container(1).xls
    50 KB · Affichages: 126

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 388
Messages
2 087 879
Membres
103 672
dernier inscrit
ammarhouichi