Soucis avec une gestion automatique d un stock

flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -
bonjour a tous

l idée est de pouvoir gérer un stock de façon automatique
l opérateur saisit donc via une liste déroulante l emplacement qu il a besoin dans la colonne D
puis l idée serait qu excel recherche de façon automatique le premier hangar disponible qui peux lui offrir l emplacement recherche et indique dans la colonne C le nom de l hangar

mais je vais avoir des soucis pour savoir ce qui me reste comme place de libre
je souhaiterais dans un premier temps que si une ligne dans la colonne D est a 0 que la ligne en colonne C soie a 0 ou vide
et que chaque fois que l on manipule des donnees que le nombre d emplacement dans la plage de cellule E15:E21 soit remis a jour
il y a un moment cela ne sera plus la place7 qui sera le plus élevé et donc cela risque d être le foutoir

que pourrais je faire

voici un fichier
https://www.cjoint.com/c/HKxiDFjaCez

merci de l aide

129 réponses

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
Résumé de la discussion

L’objectif est d’automatiser la gestion des stocks : selon une sélection d’emplacement dans la colonne D, Excel doit repérer le premier hangar disponible pouvant offrir cet emplacement et afficher le nom du hangar dans la colonne C, tout en imposant que si une ligne de D vaut 0, la ligne correspondante dans C soit vide ou à 0, et en mettant à jour le nombre d’emplacements libres dans la plage E15:E21 à chaque manipulation. Plusieurs pistes sont évoquées, notamment la création d’une zone tampon (NB.VIDE) pour détecter et combler les trous afin d’éviter l’apparition de gaps répétés. Des macros proposent de boucher les premiers trous en décalant les données pour maintenir une occupation continue et limiter les espaces vides, avec des scripts spécifiques pour automatiser ce processus. Une recommandation insiste sur la nécessité d’une représentation visuelle de l’occupation (plan d’emplacements) plutôt que de se fier uniquement au total libre, afin d’assurer qu’un espace de taille requise est réellement disponible. Des retours mentionnent des difficultés pratiques comme des références circulaires et des ajustements nécessaires après des suppressions de clients, et certains estiment que le projet atteint une cohérence une fois les formules et les automatisations supplémentaires en place.

Bobot (l'IA à votre service)
  1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Si la place restante du hangar 7 est en-dessous de 600'000 alors on commence avec le hangar 6 et ainsi de suite (on prend toujours selon le maximum de place…. ?
    Est-ce bien cela…. ?

    1
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      non mais ça va bien de poster n'importe où ?
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    pour pouvoir gérer correctement je pense qu'il va falloir que tu rationalises mieux l'ensemble.
    Ton hangar, je suppose qu'il a plusieurs allées, les numéroter.
    Sur une allée marquer tous les mètres, divisés en 4 avec des traits (pour attribuer des tranches de 25 cm).
    Et s'il y a plusieurs étages, même punition.
    Ensuite si tu as besoin de 125 cm il suffit de rechercher 5 emplacements de 25 cm consécutifs libres et fournir la position : Hangar 2, Allée A, position 2,5 , étage 1.
    Enfin tu vois si qq chose sur ce principe est applicable chez toi.
    eric

    1
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    je n'ai rien vu de tout cela dans ton fichier.
    Impossible à gérer s'il n'y a pas une représentation de l'occupation de chaque emplacement sur une feuille.
    Sur cet exemple : https://www.cjoint.com/c/HKyhFGRGIMU
    il suffit de parcourir le plan pour trouver que le 1er emplacement libre de 125 est en Bleu.1.A.150
    Fait la représentation de tous tes emplacements existant sur un modèle proche de celui-ci.
    eric

    PS : et si les allées-étagères n'ont pas toutes la même longueur mettre Fin après le dernier emplacement

    1
  4. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Eh bien c’est une autre explication différente. Ci-joint ma proposition que j’avais préparée hier :
    Le lien : https://mon-partage.fr/f/x70PTwaT/
    Au passage, Salutations eriiic .
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Merci du retour. J’ai lu votre explication et je vois que ma proposition était dans le bon sens, il faut y intégrer les bons paramètres, je regarde dès demain.
    Note sur ma proposition : un peu déroutant avec le hangar et les places car c’est dirigé pour voir le fonctionnement du programme basé sur le solde maximum que j’avais cru comprendre en étudiant l’information sur la feuille (Feuil3).
    Bon dimanche ou ce qui l'en reste
    1
  7. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    l idée serait que j ai une base de donnée cachée avec ces 40 rangées
    une fois qu un nouveau client vient déposer ses pneus plutôt que d aller voir ou il y a de la place
    ou encore chercher ou il y a de la place via un logiciel
    je souhaiterais qu excel le fasse seul

    C'est exactement ce que je te proposais mais bon...
    Savoir qu'il te reste 10 m dans un hangar ne te sert à rien si c'est 10 fois 1 m et que tu as besoin d'1,5 m.
    Tu es obligé d'avoir un plan détaillé de l'occupation pour savoir où tu as une place dispo de 1m50.
    eric
    1
  8. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Question : est-ce correct qu’on lance la recherche de l’emplacement au moment où l’on entre le nombre de pneu (0 si vide, 2 ou 4 pour occuper) ?
    Merci du retour.

    Au passage, merci eriiic pour l'info, salutations bonne semaine.

    1
  9. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Merci du retour, J’ai de l’avance, proposition emplacement selon le maximum de place disponible. Le contrôle du minimum se fait dans le code et vous recevez un message si pas de place.
    La proposition : https://mon-partage.fr/f/FbfiDH09/

    1
  10. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    L’erreur est sur votre feuille « Feuill1 » dans la cellule « H14 » la fonction « SI() fait référence à elle-même (H14-5) d’où circulaire.

    1
  11. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Eh bien c’est votre fichier bizarre… ! Alors vous faites un clic droit sur l’onglet de la feuille et ensuite voue aurez ceci ;



    Il vous suffit sélectionner la feuille 1 et clic OK

    1
  12. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Merci de rien. Concernant :
    nous gardons les pneus des clients soit en été soit en hiver
    pour la facilite nous avons donc deux lignes par plaques, mais pas tout le temps

    Je pense qu’il est mieux de faire une ligne par plaque et d’introduire 2 colonnes pour les pneus (été et hiver) et une colonne qui mentionne lequel est en dépôt. Dans ce sens vous modifier été ou hiver et c’est tout. Ma proposition tiendra compte de la nouvelle taille sans changer d’emplacement,
    En plus je pense, vue les 3000 clients, qu’il serait bien de travailler à l’aide d’une recherche de nom client ou n° plaque… ! Au passage c’est quoi ce n° plaque : 1 flh 183 !

    1
  13. jbchb Messages postés 16 Statut Membre 11
     
    Bonjour à tous,
    La réponse de Le Pingou peut paraître pertinente mais elle ne répond pas au probléme posé par Eric ( les trous laissés par les sorties et les rentrées de pneus !
    Voir les différentes étapes suivantes :













    On voit que le trou laissé de 75 à 105 n'a pu être comblé !
    1
  14. jbchb Messages postés 16 Statut Membre 11
     
    Bonjour Le Pingou,
    La solution avec Excel c'est de tenir compte de ta proposition mais en essayant de déplacer tout ça ( dans l'exemple que j'ai fait pour combler le trou de 75 à 105 !
    Mais tout cela paraît facile en théorie mais pour l'appliquer dans Excel c'est une autre histoire ( moi je ne sais pas faire car cela représente de la manipulation manuelle ) !
    Difficile dans ce cas de trouver une solution cohérente !
    Chapeau quand même pour ta proposition Le Pingou !
    Bonne journée !
    1
  15. jbchb Messages postés 16 Statut Membre 11
     
    Re,
    La suggestion de flexi2202 de créer une zone tampon peut-être la solution !
    Ainsi mes 75 - 105 dans l'exemple ci dessus et qui créer le trou ceux ci peuvent être détectés par la macro ou une formule ( avec NB.VIDE par exemple)!
    Ce trou constituerait la zone tampon qui devra être immédiatement comblé en décalant la saisie précédente vers la gauche afin qu'il n'y ai plus de nombreux trous à venir !
    Mais c'est plus facile à dire qu'à faire ( pour moi en tout cas )
    Bonne journée !
    1
  16. jbchb Messages postés 16 Statut Membre 11
     
    Re,
    Une proposition de macro pour boucher les trous dés le 1 er trou :

    Sub essai()
    Dim i As Long, j As Long, k As Long, X As Long, l As Long
    With Sheets("PlageOccup")
    For k = 2 To 65536
    For l = 4 To 1000
    If .Cells(k, 4) = "" Then Exit Sub
    If .Cells(k, l) = "" And .Cells(k, l + 1) = "" Then
    X = X + 1
    ElseIf .Cells(k, l) = "" And .Cells(k, l + 1) <> "" Then
    Exit For
    End If
    Next l
    For i = 4 To 1000
    If .Cells(k, i) = "" Then
    For j = i To 1000
    If .Cells(k, j) <> "" Then
    .Cells(k, i) = .Cells(k, j)
    .Cells(k, j) = ""
    Exit For
    ElseIf .Cells(k, i + X + 1) = "" Then
    Exit Sub
    End If
    Next j
    End If
    Next i
    Next k
    End With
    End Sub

    Bonne soirée !
    1
    1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
       
      Bonjour,
      Désolé votre code ne fait que boucher le premier trou rencontré de la première ligne de stockage.
      Note: à quoi sert de boucher les vides, ce qui ne vous donnera rien dans les lignes de stockage… eh oui ce n'est pas votre code qui va déplacer les pneus.
      Bonne semaine.
      0
  17. jbchb Messages postés 16 Statut Membre 11
     
    Bonjour à tous, flexi, Le pingou,
    Peut-être ceci à tester !
    J'avoue que ce n'est pas facile Le Pingou mais si l'on peut s'aider !
    Lorsque les pneus 2 ou 4 sont mis à 0 :
    Double cliquer dans le 0 puis sur OK !









    https://www.cjoint.com/c/HLdl0DSHnUe

    Bonne journée !
    1
  18. jbchb Messages postés 16 Statut Membre 11
     
    Re,
    Le Pingou à dit :
    Désolé votre code ne fait que boucher le premier trou rencontré de la première ligne de stockage.
    Note: à quoi sert de boucher les vides, ce qui ne vous donnera rien dans les lignes de stockage… eh oui ce n'est pas votre code qui va déplacer les pneus.


    Mais si l'on ne peut mettre des pneus dans un trous, il faut bien le boucher !
    C'est se qui doit se faire manuellement pour gagner de la place !

    Il y a quelques lacunes dans mon projet qui doit tenir compte de nombreux critères ( exemple : suppression de la dernière personne et de la première de la liste et j'en passe )
    Je compte sur Eric et le Pingou pour m'aider !
    Merci et bonne journée !
    1
    1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
       
      Bonjour,
      Je compte sur Eric et le Pingou pour m'aider !
      Faudrait savoir qui aider ------flexi2202 ou vous.
      Bonne journée.
      0
  19. jbchb Messages postés 16 Statut Membre 11
     
    Re,
    Je veux dire que nous somme 3 pour aider flexi, bien sûr !
    Comme tu l'a vu je me suis aidé de tes macros en ajoutant les miennes, il est évidant que s'il y a des améliorations à apporter avec ou sans mon fichier, je suis sûr que flexi qui s’impatiente sera ravi !
    Pour ma part, j'ai passé beaucoup de temps pour cela et je comprends toutes les difficultés qui se présentent !
    bonne journée !
    1
  20. jbchb Messages postés 16 Statut Membre 11
     
    Bonsoir à tous,
    Proposition qui me semble correct après l'avoir testé !
    Toujours cliquer 2 fois dans la cellule 0 ne contenant plus de pneus puis appuis sur OK !
    Attention ne pas cliquer 2 fois dans la cellule du dernier client !
    Bonne soirée !

    https://www.cjoint.com/c/HLdt4QA7Mve
    1
  21. jbchb Messages postés 16 Statut Membre 11
     
    Re,
    Le projet achevé ( il y avait des formules à compléter dans les lignes ) !
    Si j'ai dit de ne pas cliquer sur la dernière personne lorsqu'il y a 0 c'est que lorsque la cellule 0 est sélectionnée la macro ( de Le Pingou se charge de faire le travail ( merci Le Pingou ) !
    Bon test et bonne soirée !

    https://www.cjoint.com/c/HLdvdBBAF7e
    1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7