Distribution de quantité en fonction du besoin

Bonjour à tous,

Je sollicite votre aide s'il vous plait pour remplir ce tableau.

Merci beaucoup de votre aide.

28rep-nouv.xlsx (9.66 Ko)

Bonjour à tous,

J'aimerai votre aide s'il vous plait.

En fonction du stock je veux satisfaire le besoin en retirant la quantité en priorité dans l'entrepot 1 si le besoin est couvert par le stock de cet entrepot 1(et à chaque fois mettre à jour le stock restant après qu'on a retiré une quantité d'un entrepot), si le stock de l'entrepot 1 est épuisé, en ce moment on va chercher dans l'entrepot 2 jusqu'à épuisement de ce dernier, enfin on cherche dans l'entrepot 3.

Merci

depart final

Bonjour

Cela ressemble pas mal à l'exemple d'utilisation du solveur que donnait Microsoft il y a pas mal d'années et qu'on retrouve ici

https://www.lecfomasque.com/solveur-excel-comment-minimiser-les-couts-tout-en-satisfaisant-la-demande/

Les choix d’entrepôts y sont liés à une contrainte économique car si 2 entrepôts ont du stock suffisant il convient de tenir compte du cout de transport.

J'ai vu que tu avais multiposté : je pense que tu auras une réponse à base de solveur...

Merci de s'être intéressé.

Je suis preneur de toute solution capable de le résoudre: solveur comme macro.

Bonjour

une solution :

  • sélectionner cellules E5 à E10
  • Données puis validation des données, validation des données
  • Dans la fenêtre qui s'ouvre, onglet Options, choisir liste, puis dans Sources, sélectionner cellules C17 à C19

Idem pour Qtés en sélectionnant les cellules D17 à D25 pour renseigner Source

Bonjour et merci tout d'abord.

J'ai essayé cette manip mais je n'y arrive pas, soit je le comprend bien et j'aurai aimé si ça ne vous dérange pas de l'appliquer au fichier que j'avais joint au début et de me l'envoyer que je puisse voir la démarche en clair.

Sinon en gros j'aimerai que dès qu'on renseigne la colonne D (QTE Besoin), que le reste s'automatise.

Merci de votre aide

bonjour,

une solution possible (sans contrainte)

Sub aargh()
    With ActiveSheet
        For i = 5 To 11 'lignes commandes
            refc = .Cells(i, 3) 'reference commande
            qc = .Cells(i, 4) 'quantité commandée
            col = 3 'pointeur de colonne pour solution
            For j = 17 To 25 'lignes stock
                qs = .Cells(j, 4) 'quantité en stock dans cet entrepot
                If .Cells(j, 2) = refc And qs > 0 Then
                    If qs > qc Then
                        qe = qc 'quantité à sortir de l'entrepot
                        .Cells(j, 4) = qs - qc 'calcul nouveau stock
                    Else
                        qe = qs ' 'quantité à sortir de l'entrepot
                        .Cells(j, 4) = 0  'calcul nouveau stock
                    End If
                    qc = qc - qe 'quantité restant à commander
                    col = col + 2
                    .Cells(i, col) = .Cells(j, 3) 'entrepot
                    .Cells(i, col + 1) = qe 'quantité à sortir
                    If qc = 0 Then Exit For 'commande satisfaite ?
                End If
            Next j
            If qc <> 0 Then
                col = col + 1
                .Cells(i, col) = "pas assez de stock"
            End If
        Next i
    End With
End Sub
11rep-nouv.xlsm (17.89 Ko)

Merci ça marche super bien (sauf le bouton "GO"),

Mais ayant constater que je n'étais pas sous mode tableau et que quand j'ajoute d'autres lignes la macro ne le prenais pas en compte, je joins un fichier modifié ou j'ai mis chaque tableau dans une feuille (parce que j'aurai beaucoup de lignes à ajouter de part et d'autres de chaque tableau)) pour que la macro tourne toujours.

Je vous serai énormément reconnaissant si vous m'adapter le code précédent à ce cas et désolé du dérangement.

3rep-modif.xlsm (18.20 Ko)

bonjour,

je ne sais pas ce que signifie concrètement une reconnaissance énorme, mais voici le code adapté.

6rep-modif.xlsm (21.75 Ko)

Bonjour à tous

J'avais commencé donc je poste une variante basée sur le modèle objet des ListObjects.

J'ai renommé au préalable les 2 tableaux avec des noms signifiants

J'ai utilisé le nom des colonnes du tableau Stocks

Pour le tableau Commandes, j'ai gardé les références par index à partir de la colonne QTE Besoin.

Cela permet de placer les tableaux n'importe où sans toucher au code...

11stoks.xlsm (23.13 Ko)

Merci beaucoup à vous deux.

Rechercher des sujets similaires à "distribution quantite fonction besoin"