Dans l'exemple je dispose d'un fournisseur de palettes qui ne me livre que par lot de 200, et un tableau récapitulant par mois mon besoin.
J'aimerai donc remplacer mes "-200" à l'affilés par une boucle VBA :
Avec un message demandant le mois désiré, et qui me calculerai automatiquement le nombre de commande passées jusqu'à ce que la quantité soit inférieur à la taille de lot.
J'aimerai donc aussi un message me disant par exemple " 13 commandes de 200 palettes possibles pour les 2514 palettes , reste 114 palettes"
Bonjour GV,
Si votre besoin est de 2514 palettes, la commande doit être de =ARRONDI.SUP(E18/200;0) soit 13 lots, ce qui représente 2600 palettes.
Donc votre reste est de 56 palettes et non de 114 ? ( 2600-2514 )
Où me trompais je ?
Bonjour GV,
Si votre besoin est de 2514 palettes, la commande doit être de =ARRONDI.SUP(E18/200;0) soit 13 lots, ce qui représente 2600 palettes.
Donc votre reste est de 56 palettes et non de 114 ? ( 2600-2514 )
Où me trompais je ?
Je me suis trompé, je ne dois pas dépasser mes 2514 palettes, donc je passe 12 commandes (2400) et il me reste 114 palettes.
La formule est correcte mais je dois retranscrire ça sur VBA.
Je suis cependant assez rouillé j'aimerai quelque chose du genre mais fonctionnel
Sub répartition()
Dim i, j, k As Integer
MsgBox "Quel mois rechercher vous ?"
i = Cells(E11)
'2 514 palettes
j = Cells(D26)
'lot de 200
k = résultats
'nombre de commandes
r = reste
m = mois
Do
k = i - j
Loop Until k = i < j
MsgBox " k commandes de j palettes possibles pour les i palettes , reste r palettes"
Re,
On peut se passer de macros en utilisant votre page 2. Voir PJ.
Si vous voulez absolument une macro, faites signe je vous la fait.
Par contre j'ai modifié les mois pour qu'ils correspondent à la liste déroulante.
Re,
On peut se passer de macros en utilisant votre page 2. Voir PJ.
Si vous voulez absolument une macro, faites signe je vous la fait.
Par contre j'ai modifié les mois pour qu'ils correspondent à la liste déroulante.
Re,
On peut se passer de macros en utilisant votre page 2. Voir PJ.
Si vous voulez absolument une macro, faites signe je vous la fait.
Par contre j'ai modifié les mois pour qu'ils correspondent à la liste déroulante.
Quand on a choisit le mois, la variable Mois contient le nom du mois,
IndexMois donne la position de la colonne où est le mois.
Après on en fait ce qu'on veut.
... le plus dur est de construire la phrase de retour dans le msgbox !
Quand on a choisit le mois, la variable Mois contient le nom du mois,
IndexMois donne la position de la colonne où est le mois.
Après on en fait ce qu'on veut.
... le plus dur est de construire la phrase de retour dans le msgbox !
J'ai regardé ta VBA et l'applique pour le tableau à merveille !
Concernant ton tableau (que je remet dans le fichier), mon fichier ayant évolué je ne comprend pas comment tu utilise la formule pour le volume palettes avec les INDEX.
Mon tableau ayant désormais plusieurs types de supports (des fois pour des mêmes fournisseurs) avec des tailles de lots et coût différents. J'aurai donc voulu affiné la formule avec les différentes liste déroulante mais je coince.
Bonjour GV,
Comme vous aurez du VBA avec vos msgbox, je me suis dit que le plus simple pour trouver le volume de palettes était de passer par une fonction perso :
VB:
Function ChercheLigne(Site, FRS, TypePal)
Application.Volatile
Derlig = Application.WorksheetFunction.CountA(Range("A1:A10000"))
For i = 2 To Derlig
If Cells(i, 1) = Site And Cells(i, 2) = FRS And Cells(i, 4) = TypePal Then
L = 1
Exit For
End If
Next i
If i = Derlig + 1 Then
ChercheLigne = "Erreur"
Else
ChercheLigne = i
End If
End Function
Ça évite de longues formules si on veut tenir compte du Site, FRS et Type palettes.
Donc cette formule donne le No de ligne, un simple Equiv donne le No de colonne en fonction du mois, et un Index(Tableau;Ligne;Colonne) donne le volume.
Bien évidemment les deux cellules Ligne Colonne peuvent être supprimées et intégrées dans la formule Volume ( Tableau de gauche )
Bonjour GV,
Comme vous aurez du VBA avec vos msgbox, je me suis dit que le plus simple pour trouver le volume de palettes était de passer par une fonction perso :
VB:
Function ChercheLigne(Site, FRS, TypePal)
Application.Volatile
Derlig = Application.WorksheetFunction.CountA(Range("A1:A10000"))
For i = 2 To Derlig
If Cells(i, 1) = Site And Cells(i, 2) = FRS And Cells(i, 4) = TypePal Then
L = 1
Exit For
End If
Next i
If i = Derlig + 1 Then
ChercheLigne = "Erreur"
Else
ChercheLigne = i
End If
End Function
Ça évite de longues formules si on veut tenir compte du Site, FRS et Type palettes.
Donc cette formule donne le No de ligne, un simple Equiv donne le No de colonne en fonction du mois, et un Index(Tableau;Ligne;Colonne) donne le volume.
Bien évidemment les deux cellules Ligne Colonne peuvent être supprimées et intégrées dans la formule Volume ( Tableau de gauche )