Fonction ou VBA pour placement automatique dans liste

arnaud130

XLDnaute Nouveau
Bonjour,

Etant en stage, j'utilise la majeure partie Excel et grâce à ce forum, j'ai déjà pu résoudre de nombreux problèmes sans avoir besoin de demander de l'aide. Cependant, j'ai actuellement un problème que je n'arrive pas du tout à résoudre, même en essayant de chercher sur le forum. Je m'explique.

J'ai des références en colonne A qui sont installés dans l'ordre dans un entrepôt avec une surface en colonne B. En colonne C, j'ai la nouvelle liste de référence et c'est là qu'intervient mon problème. Il faudrait que les références déjà présentes restent à leur place et que les nouvelles références prennent la place des anciennes mais attention, en fonction de la place disponible.

J'ai essayé en faisant certaines colonnes supplémentaires mais en vain. Je crois qu'une VBA serait plus facile mais je ne maitrise pas assez pour en faire un moi-même
En pièce jointe, voici mon exemple avec quelques annotations, n'hésitez pas à créer une nouvelle feuille si vous le souhaitez.

Merci d'avance pour votre aide qui m'aiderait à un point pas possible pour la suite de mon projet.
 

Pièces jointes

  • Exemple problème.xlsx
    31 KB · Affichages: 47
  • Exemple problème.xlsx
    31 KB · Affichages: 47

CISCO

XLDnaute Barbatruc
Re : Fonction ou VBA pour placement automatique dans liste

Bonjour

Une possibilité en pièce jointe, avec des formules.

Il reste encore pas mal de problèmes :
* Je ne sais pas sérieusement faire des macros (si ce n'est avec l'enregistreur de macro). Donc je ne peux pas faire par macro une mise à jour vraiment adaptée et polyvalente, ni son "inverse". Je vais essayer, mais bon, je ne te promet rien...
* La méthode utilisée ne résout pas le pb des surfaces de plus en plus petites.
* Si on passe par des macros, autant tout faire avec, sans aucune formule.

@ plus
 

Pièces jointes

  • problèmeexcel.xlsx
    81.7 KB · Affichages: 26
  • problèmeexcel.xlsx
    81.7 KB · Affichages: 22

arnaud130

XLDnaute Nouveau
Re : Fonction ou VBA pour placement automatique dans liste

Bonjour,

En vous demandant de l'aide pour mon problème, j'ai oublié de prendre en compte les dates... J'ai actuellement un problème pour intégrer le critère de la date dans ma formule ci-dessous :

=IF(A5="","",MAX(IF(NOT(ISNUMBER(MATCH(References, $A$5:$A$26,0)))*(COUNTIF(G$4:G4,References)=0)*((A 5=0)+(Placenecessaire<=B5)),Placenecessaire+ROW(Pl acenecessaire)/1000000)))

Dans mon fichier, j'aimerais bien savoir oú les nouvelles références (colonne D) pourront se placer en fonction de l'espace disponible laissé par les références actuelles (colonne A). Pour le moment, ma formule tient compte de l'espace disponible (colonne B) et de l'espace nécessaire (colonne E) pour attribuer des places en colonne G.

Cependant, j'aimerais que dans un premier temps, la formule prenne en priorité les dates de sorties les plus proches de la colonne F avant de vouloir prendre en compte le minimum d'écart entre l'espace disponible et nécessaire. Je veux intégrer ce critère afin d'éviter qu'en I24, par exemple, la date d'entrée soit supérieur à la date de sortie prévue.
Avec la nouvelle formule, la date en I24 pourrait être remplacée par la date en I18 par exemple.

N'hésitez pas à me demander d'autres informations.
 

Pièces jointes

  • Problèmeformuleavecdate.xlsx
    16.5 KB · Affichages: 22
  • Problèmeformuleavecdate.xlsx
    16.5 KB · Affichages: 29

arnaud130

XLDnaute Nouveau
Re : Fonction ou VBA pour placement automatique dans liste

Bonjour,

je voudrais que la répartition se fasse selon deux critères et non selon qu'un comme avant. Tout d'abord avec le minimum de place nécessaire et ensuite avec la date la plus proche.

Petit exemple:

La commande BS305263 devrait être mise en première lorsqu'il y a l'espace nécessaire, càd en G9. De cette facon, il y aura plus d'espace entre la date d'entrée en stock et la date de sortie.

Merci d'avance.
 

CISCO

XLDnaute Barbatruc
Re : Fonction ou VBA pour placement automatique dans liste

Bonjour

J'ai essayé de trouver quelque chose, sans résultat très positif pour le moment.
Pourrais tu mettre les résultats espérés sur ton fichier, en expliquant pourquoi tu as choisi telle ou telle solution, s'il y a plusieurs possibilités ?

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Fonction ou VBA pour placement automatique dans liste

Bonjour

Est-ce que tu peux vérifier les résultats donnés par le fichier en pièce jointe ?

@ plus

P.S : Avec cette méthode, on a des difficultés pour "caser" les dernières ref. Sur cet exemple, il faudrait recommencer les calculs dans les colonnes à droite, L et suivantes, puisque par ex, la ref BS305394 (surf = 2,345) sort le 17/05/2016 et pourrait être remplacée par la ref BS305481 (surf = 2,312) le 23/02/2016.
 

Pièces jointes

  • Problèmeformuleavecdate2.xlsx
    16.3 KB · Affichages: 10
  • Problèmeformuleavecdate2.xlsx
    16.3 KB · Affichages: 10
Dernière édition:

arnaud130

XLDnaute Nouveau
Re : Fonction ou VBA pour placement automatique dans liste

Voici un exemple.

Veuillez noter que les emplacements de stockage sont par tranche de 0.3m, ce qui donnent que les données des compartiments ont été arrondies au multiple de 0.3 supérieur.
Les réponses désirées sont dans les colonnes M à P.

Merci d'avance.
 

Pièces jointes

  • Problèmeformuleavecdate.xlsx
    17.8 KB · Affichages: 11
  • Problèmeformuleavecdate.xlsx
    17.8 KB · Affichages: 12

CISCO

XLDnaute Barbatruc
Re : Fonction ou VBA pour placement automatique dans liste

Bonjour

Cf. en pièce jointe une tentative pour "caser" un peu plus de ref en reproduisant le calcul vers la droite.
Il me semble que cela fonctionne, mais comme cela n'est pas très pratique (puisqu'il faut encore refaire les calculs sur la droite pour "caser" toutes les ref).
Je me demande si cela ne serait pas plus simple de faire un planning des entrées-sorties avec toutes les références et toutes les dates (au besoin avec une macro qui cacherait automatiquement les colonnes vides). J'y réfléchi un peu et je posterai plus tard mes conclusions.

@ plus
 

Pièces jointes

  • Problèmeformuleavecdate2.xlsx
    21.3 KB · Affichages: 12
  • Problèmeformuleavecdate2.xlsx
    21.3 KB · Affichages: 15

arnaud130

XLDnaute Nouveau
Re : Fonction ou VBA pour placement automatique dans liste

Bonjour, voici le raisonnement pour choisir la référence en M8:

Tout d'abord chercher la valeur la plus proche de l'espace disponible -> 2.4 est la valeur la plus proche de 2.7 (C8)
Ensuite, il faut trouver la référence 2.4 (parmi tous les 2.4 possible) qui à la date de sortie (colonne H) la plus proche -> 14/04/15 est la date la proche de toute la liste des références ayant 2.4.

Même processus pour M9 sauf que là la date la plus récente pour 2.4 sera 15/04/16.


Merci d'avance.
 

Discussions similaires

Réponses
9
Affichages
165

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote