XL 2010 Transfert entre magasins

hema300

XLDnaute Nouveau
Bonjour
Membres, aidez-moi s'il vous plaît avec ce fichier composé de plusieurs magasins.
Magasin principal et succursales
C'est un transfert entre magasins
Doit être affiché dans userform1
La quantité disponible de l'entrepôt et l'afficher dans textbox7
Notez que le type de mouvement est dans la cellule C2
le mouvement (Encaissement
-addition) désigne l'augmentation et la diminution du mouvement des stocks en fonction du code produit, en tenant compte du fait qu'il existe un solde d'ouverture dans
Feuille3.H
 

Pièces jointes

  • Transfers between stores 2024.xlsm
    211.7 KB · Affichages: 15

hema300

XLDnaute Nouveau
Bonjour,

Oneida

Merci pour votre attention
Tout d'abord, je m'excuse de ne pas avoir clarifié le problème auquel je suis confronté.
Je ne parlais pas de la différence entre la quantité en stock et l'unité ?
C2 de quelle épreuve ?
FICHE C2 Transfert entre magasins
Il s'agit du mouvement d'échange, qu'il s'agisse 'Cashing ou addition.
Je souhaite afficher la quantité dans un magasin particulier dans TEXTBOX7

J'ai trouvé une solution au problème, mais elle n'est pas suffisante en raison de la longueur du code d'événement. Deuxièmement, lorsque les feuilles sont remplies de données, alors le code ne fonctionne pas bien et sera un peu léger.
Vous trouverez le code sur UserForm1
Et l'événement de code est
 

Pièces jointes

  • Transfers between stores 2024.xlsm
    198.8 KB · Affichages: 5
Dernière édition:

hema300

XLDnaute Nouveau
Bonjour,

Oneida

Merci pour votre attention
Tout d'abord, je m'excuse de ne pas avoir clarifié le problème auquel je suis confronté.
Je ne parlais pas de la différence entre la quantité en stock et l'unité ?
C2 de quelle épreuve ?
FICHE C2 Transfert entre magasins
Il s'agit du mouvement d'échange, qu'il s'agisse 'Cashing ou addition.
Je souhaite afficher la quantité dans un magasin particulier dans TEXTBOX7

J'ai trouvé une solution au problème, mais elle n'est pas suffisante en raison de la longueur du code d'événement. Deuxièmement, lorsque les feuilles sont remplies de données, alors le code ne fonctionne pas bien et sera un peu léger.
Vous trouverez le code sur UserForm1
Et l'événement de code est
 
Dernière édition:
C

Compte Supprimé 979

Guest
Bonjour hema300

Vous avez à votre dispositions un bouton qui permet de mettre le code entre balises
1693947312333.png

Pourquoi ne l'utilisez-vous pas 🤔

Le fil serait plus simple à lire :rolleyes:
 

hema300

XLDnaute Nouveau
VB:
Private Sub Stock_quantity()
  Dim sForm As String, sForm1 As String, Ur As Long, Ur1 As Long, Ur2 As Long, Ur3 As Long, Ur4 As Long
  Dim Qt1 As Single, Qt2 As Single, Qt3 As Single, Qt4 As Single, Qt5 As Single, Qt6 As Single, Qt7 As Single, Qt8 As Single
  Dim ShtC As Worksheet, ShtSI As Worksheet, ShtS2 As Worksheet, ShtS3 As Worksheet, ShtS4 As Worksheet
  ' Définir la feuille
  Set ShtC = ThisWorkbook.Worksheets("Sheet3")
  ' Dernière ligne de la feuille
  Ur = ShtC.Range("D" & Rows.Count).End(xlUp).Row
  ' Quantité de l'article dans The first period
  Qt1 = Application.WorksheetFunction.SumIfs(ShtC.Range("H2:H" & Ur), ShtC.Range("D2:D" & Ur), Me.ComboBox3.Value, _
     ShtC.Range("J2:J" & Ur), Me.ComboBox1.Value, ShtC.Range("I2:I" & Ur), "The first period")
  ' Définir la feuille
  Set ShtSI = ThisWorkbook.Worksheets("Transfer between stores")
  ' Dernière ligne de la feuille
  Ur1 = ShtSI.Range("E" & Rows.Count).End(xlUp).Row
  ' Quantité de l'article dans Cashing,addition
  Qt2 = Application.WorksheetFunction.SumIfs(ShtSI.Range("I2:I" & Ur1), ShtSI.Range("E2:E" & Ur1), Me.ComboBox3.Value, _
   ShtSI.Range("D2:D" & Ur1), Me.ComboBox1.Value, ShtSI.Range("C2:C" & Ur1), "Cashing")
  
   Qt3 = Application.WorksheetFunction.SumIfs(ShtSI.Range("I2:I" & Ur1), ShtSI.Range("E2:E" & Ur1), Me.ComboBox3.Value, _
   ShtSI.Range("J2:J" & Ur1), Me.ComboBox1.Value, ShtSI.Range("C2:C" & Ur1), "addition")
  
   ' Définir la feuille
  Set ShtS2 = ThisWorkbook.Worksheets("Purchases")
  ' Dernière ligne de la feuille
  Ur2 = ShtS2.Range("F" & Rows.Count).End(xlUp).Row
  ' Quantité de l'article dans buy,Purchase return
  Qt4 = Application.WorksheetFunction.SumIfs(ShtS2.Range("J2:J" & Ur2), ShtS2.Range("F2:F" & Ur2), Me.ComboBox3.Value, _
   ShtS2.Range("D2:D" & Ur2), Me.ComboBox1.Value, ShtS2.Range("C2:C" & Ur2), "buy")
  
  Qt7 = Application.WorksheetFunction.SumIfs(ShtS2.Range("J2:J" & Ur2), ShtS2.Range("F2:F" & Ur2), Me.ComboBox3.Value, _
   ShtS2.Range("D2:D" & Ur2), Me.ComboBox1.Value, ShtS2.Range("C2:C" & Ur2), "Purchase return")
  
   ' Définir la feuille
  Set ShtS3 = ThisWorkbook.Worksheets("sales")
  ' Dernière ligne de la feuille
  Ur3 = ShtS3.Range("E" & Rows.Count).End(xlUp).Row
  ' Quantité de l'article dans sale, Sale returns
  Qt5 = Application.WorksheetFunction.SumIfs(ShtS3.Range("I2:I" & Ur3), ShtS3.Range("E2:E" & Ur3), Me.ComboBox3.Value, _
   ShtS3.Range("D2:D" & Ur3), Me.ComboBox1.Value, ShtS3.Range("C2:C" & Ur3), "sale")
  
    Qt8 = Application.WorksheetFunction.SumIfs(ShtS3.Range("I2:I" & Ur3), ShtS3.Range("E2:E" & Ur3), Me.ComboBox3.Value, _
   ShtS3.Range("D2:D" & Ur3), Me.ComboBox1.Value, ShtS3.Range("C2:C" & Ur3), "Sale returns")
  
   ' Définir la feuille
  Set ShtS4 = ThisWorkbook.Worksheets("Transfer between stores")
  ' Dernière ligne de la feuille
  Ur4 = ShtS4.Range("E" & Rows.Count).End(xlUp).Row
  ' Quantité de l'article dans Cashing
  Qt6 = Application.WorksheetFunction.SumIfs(ShtS4.Range("I2:I" & Ur4), ShtS4.Range("E2:E" & Ur4), Me.ComboBox3.Value, _
   ShtS4.Range("J2:J" & Ur4), Me.ComboBox1.Value, ShtS4.Range("C2:C" & Ur4), "Cashing")
  
  ' Inscrire la différence
  Me.TextBox7.Value = Qt1 + Qt3 + Qt4 - Qt2 - Qt5 + Qt6 + Qt7 + Qt8
  '
  Set ShtSI = Nothing: Set ShtC = Nothing: Set ShtS2 = Nothing: Set ShtS3 = Nothing: Set ShtS4 = Nothing
End Sub
 

Oneida

XLDnaute Impliqué
Bonjour hema300

"lorsque les feuilles sont remplies de données"
Quelles feuilles?

Exemple de TRSF:
Store1 vers Store2: comment connaissez vous le stock de ces magasins, y a que le stock Main Store???
Nommer les controls facilite vraiment pour suivre le code:
ex: ComboBox3--->Cb_Product_Code
De meme prendre le nom des colonnes Tableau au lieu de plage cellules
 
Dernière édition:

hema300

XLDnaute Nouveau
Bonjour Oneida
Je m'appuie principalement sur le magasin phare
Quant aux autres magasins, ce sont le magasin 1, le magasin 2, le magasin 3 et le magasin 4, et l'inventaire est transféré entre eux, mais je le souhaite en choisissant ComboBox3--->Cb_Product_Code.
acheter
vente
Retours de vente
Retour d'achat
Expiré
Encaissement
ajout

Mais via d'autres papiers en fonction de l'achat, de la vente et de l'échange

Comme je l'ai montré dans le code ci-dessus
Ce qui est requis Je veux un code plus rapide et meilleur que celui-ci

Sachant que cela fonctionne efficacement, mais pas pour longtemps car il y aura une grande quantité de données entre les tables de données à l'avenir

Notez que l'inventaire ici n'est pas seulement déduit du magasin principal
Parce que cela dépend du transfert entre autres magasins
Comme pour les autres magasins, cela dépend uniquement de l'évolution des ventes aux clients.
Ici, il montre la quantité qui est déduite du magasin principal pour la transférer vers d'autres magasins.
A vendre aux clients via d'autres magasins, selon la quantité vendue, selon le produit
 
Dernière édition:

hema300

XLDnaute Nouveau
Il est nécessaire de libérer le stock du magasin principal vers d’autres magasins puis de le vendre dans d’autres magasins aux clients. Sachant que le processus d'achat auprès du fournisseur s'effectue uniquement au magasin principal, pour être transféré ultérieurement vers d'autres magasins, et merci à tous
 

hema300

XLDnaute Nouveau
Il s'agit d'un code très long dû au fait que la quantité en stock est interrogée dans trois feuilles de calcul en fonction du nom du magasin, du nom du produit ainsi que du type de transaction s'il s'agit d'un achat ou d'une vente. Existe-t-il un meilleur code que celui-ci ?
 

Statistiques des forums

Discussions
315 093
Messages
2 116 126
Membres
112 666
dernier inscrit
Coco0505