Réassort de Stock

titi83

XLDnaute Nouveau
Bonjour,

Je dois pour mon boulot réaliser une macro qui me permette de faire des réassorts automatiques en fonction des références et des stocks.
Etant débutant en VBA, j'ai déja réalisé quelques macros plus ou moins simples, mais là je n'y arrive pas.

Le magasin 1 (la centrale) qui ne vend pas, approvisionne le magasin 2 qui est un point de vente.

La feuille ARTICLES est la base de données qui comprend :
Colonne A : Le code du Magasin (le magasin 1 est la centrale, le magasin 2 le point de vente)
Colonne B : L'état de la référence (S=Référence en Stock, V=Référence Vendue)
Colonne C : La référence
Colonne D : La marque

Je voudrais afficher automatiquement la liste des références et leur marque, qu'il faut mettre en réassort.

Je suis arrivé à extraire dans 2 feuilles différentes le stock de chaque magasin (mais l'exécution est assez longue).
Je voulais qu'après avoir trouvé une référence, il cherche dans la liste si elle existe à nouveau, afin de vérifier dans quel magasin elle se trouve et si elle est en stock ou vendue.
J'ai essayé des boucles différentes, avec des filtres automatiques utilisant des critères, mais sans succès.

J'ai laissé tomber l'extraction dans 2 feuille du fait de la lenteur (20 000 lignes à analyser et ça va augmenter) car je pense qu'il est possible de faire celà à partir de la seule table ARTICLES, mais malgré mes efforts et beaucoup de temps passé dessus, je ne suis pas assez calé en VBA.

Un petit coup de main serait bienvenu.

Je joins le fichier, ce sera plus simple à comprendre.

Merci pour votre aide...
 

Pièces jointes

  • reassort.xlsm
    16.2 KB · Affichages: 78
  • reassort.xlsm
    16.2 KB · Affichages: 86
  • reassort.xlsm
    16.2 KB · Affichages: 92

Lolote83

XLDnaute Barbatruc
Re : Réassort de Stock

Salut Titi83,
pas sur d'avoir tout compris.
J'ai fait une macro qui est le résultat d'un filtre élaboré.
Clic sur le bouton et voir le résultat dans l'onglet Reassot Mag2.
Désolé mais je ne trouve pas les memes résultats que toi. Pourquoi ????
@+ Lolote83
 

Pièces jointes

  • Copie de TITI83 - Reassort.xlsm
    23.5 KB · Affichages: 84
  • Copie de TITI83 - Reassort.xlsm
    23.5 KB · Affichages: 70
  • Copie de TITI83 - Reassort.xlsm
    23.5 KB · Affichages: 53

titi83

XLDnaute Nouveau
Re : Réassort de Stock

Bonsoir Lolote83,

Merci pour ton aide.

Tu ne trouves pas le même résultat que moi car pour les références RRRR et SSSSS, elles sont certes en Stock au Mag1 mais elles sont aussi toujours en stock au Mag2, donc il ne faut pas de réassort.

Merci...


Titi83
 

Lolote83

XLDnaute Barbatruc
Re : Réassort de Stock

Salut Titi83,
Je ne trouve pas de solution à ton problème car si je fais :
- Mag1=S et Mag2=S, voir données M44:Q53
- Mag1=S et Mag2<>S, voir données G44:K53

En fait la macro extrait de ta base originale en fonction du critère en C1:D3 en excluant les doublons.
Voir donc mes copies de données en M44:Q53 et G44:K53 ou j'ai mis x pour une valeur et dbl si cette même valeur se trouvais dans le critère.
Voilà ma reflexion a ce jour. Bref, en aucun cas je tombe sur ton résultat. Désolé
@+ Lolote83
 

Pièces jointes

  • Copie de TITI83 - Reassort.xlsm
    26.9 KB · Affichages: 44
  • Copie de TITI83 - Reassort.xlsm
    26.9 KB · Affichages: 52
  • Copie de TITI83 - Reassort.xlsm
    26.9 KB · Affichages: 59

djidji59430

XLDnaute Barbatruc
Re : Réassort de Stock

C'est quoi l'interet du magasin 1 vu que les references y sont toujours en stock ?
j'avais vu la chose comme ça
Si on retire les doublons
une reference avec s ou une reference avec s et v => pas de reassort
une reference avec v ==> reassort
 

titi83

XLDnaute Nouveau
Re : Réassort de Stock

Bonsoir Lolotte83, djidji59430,

Je ne l'ai pas précisé, mais chaque "exemplaire" d'une référence a un code article différent : si 2 références "AAAAA" sont en stock, il y 2 codes article différents :
Ex :REFERENCE -----CODE ARTICLE
-------AAAAA -----------611456
-------AAAAA -----------511E457

Peut être que c'est l'élément qui vous manque, comme une clé pour les filtres ou autres…
Je rajoute donc dans mon tableau un code article..

Afin de mieux comprendre, voici différents cas : (c'est également dans le fichier)


UNIQUEMENT SI LA REFERENCE EST EN STOCK A LA CENTRALE (MAG1) :

1) Si le MAG2 a vendu la réf OOOO (code article 611313) et n'a plus la réf OOOO en stock (sous un autre code article), alors la centrale (MAG1) envoie sa réf disponible OOOO (code article 611220) au MAG2 -> REASSORT
MAGASIN---------ETAT---------REFERENCE---------CODE ARTICLE---------MARQUE
----1----------------S--------------OOOO----------------611220-------------MARQUE 1
----2----------------V--------------OOOO----------------611313-------------MARQUE 1


2) Si le MAG2 a vendu la réf RRRRR (code article 320250) et a encore la réf RRRRR en stock (code article 650412), alors la centrale (MAG1) n'envoie pas sa réf disponible RRRRR (code article 530V150) au MAG2 -> PAS DE REASSORT :
MAGASIN---------ETAT---------REFERENCE---------CODE ARTICLE---------MARQUE
----2----------------V--------------RRRRR----------------320250------------MARQUE 5
----2----------------S--------------RRRRR----------------650412------------MARQUE 5
----1----------------S--------------RRRRR----------------530V150-----------MARQUE 5


3) Si le MAG2 a toujours en stock la ref SSSSSS (code article 410256), alors la centrale (MAG1) n'envoie pas sa réf disponible SSSSSS (code article 815478) au MAG2 -> PAS DE REASSORT
MAGASIN---------ETAT---------REFERENCE---------CODE ARTICLE---------MARQUE
----1----------------S--------------SSSSSS----------------410256-----------MARQUE 8
----2----------------S--------------SSSSSS----------------815478-----------MARQUE 8

Je pense que ce sera plus clair comme ça..

Et encore merci pour votre aide, je suis en train d'étudier les filtres élaborés, je ne connaissais pas...
 

Pièces jointes

  • reassort.xlsm
    17.7 KB · Affichages: 47
  • reassort.xlsm
    17.7 KB · Affichages: 47
  • reassort.xlsm
    17.7 KB · Affichages: 38

djidji59430

XLDnaute Barbatruc
Re : Réassort de Stock

Tu peux me dire ou pêche mon raisonnement ?
rappel
comme dans ton exemple, le magasin 1 a toujours du stock:
La Centrale (MAGASIN 1) ne fait pas de ventes, elle alimente le MAGASIN 2 donc son l'ETAT de ses REFERENCES est toujours à "S" (en Stock)

une reference avec s et v ==>pas de reassort:
Si le MAG2 a vendu la réf RRRRR (code article 320250) et a encore la réf RRRRR en stock (code article 650412), alors la centrale (MAG1) n'envoie pas sa réf [
]

une reference avec v ==>reassort:
Si le MAG2 a toujours en stock la réf SSSSSS (code article 410256), alors la centrale (MAG1) n'envoie pas sa réf disponible SSSSSS (code article815478) au MAG2 -> PAS DE REASSORT :

Et je rajoute si magasin 1=s, pas de reassort (mais c'est impossible d'apres ce que tu dis ?)
A quoi sert donc de connaitre l'etat du magasin 1 ?
 

titi83

XLDnaute Nouveau
Re : Réassort de Stock

"le magasin 1 a toujours du stock:"

-> non, le mag1 peut ne plus avoir en stock la ref vendue par le mag2.
UNIQUEMENT SI LA REFERENCE EST EN STOCK A LA CENTRALE (MAG1)



"Et je rajoute si magasin 1=s, pas de réassort (mais c'est impossible d'apres ce que tu dis ?)"

-> c'est possible si le mag2 a vendue une réf mais a encore la même ref en stock. Dans ce cas, le mag1 n'envoie pas la ref au mag2 sinon le mag2 aura la ref en double. D'ailleurs, j'ai modifié le ficher car dans l'exemple, la marque7 ne devrait pas exister (2 mêmes ref en stock au mag2)



"A quoi sert donc de connaitre l'état du magasin 1 ? "

-> il est vrai que du moment que la ref est dans le tableau en mag1, il n'est pas important de connaitre son état mais comme la donnée fait partie de la base, je l'ai laissée, je ne sais pas si ça peut aider pour le code...

Merci..
 

Pièces jointes

  • reassort.xlsm
    16.3 KB · Affichages: 46
  • reassort.xlsm
    16.3 KB · Affichages: 49
  • reassort.xlsm
    16.3 KB · Affichages: 49

djidji59430

XLDnaute Barbatruc
Re : Réassort de Stock

Dans le tableau exemple, aux 2 dernieres lignes, le V est apres le S, contrairement aux autres. C'est une erreur, ou c'est possible ?
1 S OOOO 611220 MARQUE 1
2 V OOOO 611313 MARQUE 1

un essai, mais sans macro (je suis tres ignorant en macro)
 

Pièces jointes

  • reassort_essai.xlsx
    21.8 KB · Affichages: 38
  • reassort_essai.xlsx
    21.8 KB · Affichages: 37
  • reassort_essai.xlsx
    21.8 KB · Affichages: 35
Dernière édition:

titi83

XLDnaute Nouveau
Re : Réassort de Stock

j'ai repris ton fichier dans lequel j'ai mis des explications et des exemples.

J'espère que ce sera plus clair pour toi.

J'ai essayé de changer l'état V ou S dans le premier tableau mais rien ne bouge dans tes 3 tableaux : normal ?


Merci de ton aide
 

Pièces jointes

  • reassort_essai.xlsx
    29.1 KB · Affichages: 44
  • reassort_essai.xlsx
    29.1 KB · Affichages: 55
  • reassort_essai.xlsx
    29.1 KB · Affichages: 60

djidji59430

XLDnaute Barbatruc
Re : Réassort de Stock

Pour l'instant, j'etais arreté au reassort.
toutefois, il y a 2 lignes EEEEE, chacune mag1, de meme que ggggg mag 1 pourquoi du reassort, alors qu'il n'y a pas de mag 2
donc mon resultat est exact ? (verifie ton tableau exemple mag1, mag2, etc....
et tu n'as pas repondu a ma question du post precedent
.
D'autre part, les tableaux ne sont pas dynamiques. Ils sont par le filtre elaboré des resultats induits sdu premier tableau
 

titi83

XLDnaute Nouveau
Re : Réassort de Stock

j'ai répondu à ton message privé : peu importe l'ordre s ou v, c'est une base de données qui évolue..

Les 2 lignes EEEEE ca veut dire qu'il y a 2 ref EEEEE en stock au mag1 sous 2 codes articles différents. Et comme le mag2 n'en a pas, le mag1 va envoyer 1 exemplaire de cette ref. (1 des 2 codes article) = réassort

Pareil pour la ref GGGGG : 1 en stock au mag1, le mag2 n'en a pas alors le mag1 va l'envoyer au mag2 = réassort

Dans le fichier, les exemples sont indiqués en détail.

Le but est d'obtenir automatiquement la liste des ref et des codes articles associés à envoyer au mag2, donc si le tableau n'est pas dynamique, comment ça fonctionne ?

Merci.
 

djidji59430

XLDnaute Barbatruc
Re : Réassort de Stock

donc, si on resume :
le magasin 1 envoie au magasin 2 toutes ses references, sauf s'il y a du stock au magasin 2 ?

le magasin 1 regarde pour chacune de ses references si le magasin 2 n'a pas en stock la meme reference.Si pas de stock, il envoie. OK ?
 
Dernière édition:

Statistiques des forums

Discussions
312 248
Messages
2 086 594
Membres
103 250
dernier inscrit
keks974