Remplissage automatique de données après une validation de formulaire par VBA (Formules composées de plusieurs produits"

remy3434

XLDnaute Nouveau
Bonjour,

Tout d'abord, je vous remercie pour le temps pris à essayer de trouver une solution à notre problème,

Nous sommes en train de créer pour notre société, un logiciel de gestion des stocks, jusqu'ici, ça se passe plutôt bien sauf que maintenant nous bloquons sur une étape.

Avant de vous exposer notre problème, vous trouverez notre fichier en PJ avec les données adaptées pour le forum.

Dans la feuille "gestions des commandes", nous avons codé en VBA un formulaire pour rentrer nos données sur le client et sa commande.
Dans ce formulaire, nous sélection le ou les formules fait par le client, il s'agit de formule composée de plusieurs produits. Le descriptif de chaque formule et leurs compositions se trouvent dans la feuille "Config formule".

Notre problème:
Une fois le formulaire validé, nous souhaitons que dans la feuille "gestion des commandes", il ajoute automatiquement pour chaque formule commandée, les pièces qui composent la formule et la quantité, respectivement en colonne "J" et "K".

Si cela n'est pas possible, alors nous aimerions que le détails des produits composant les formules se mettent dans la feuille "sortie des stocks"

Nous avions déjà réussi a coder auparavant quelque chose de similaire mais il fallait entrer les formules commandées une par une. (Voici le style du code pour ceux que ça pourrait intéresse)

VB:
Private Sub CommandButton2_Click()
Dim ligne As Range
Dim dl As Long

If Sheets(4).Range("l9") <> "" And Sheets(4).Range("l10") <> "" And Sheets(4).Range("l8") <> "" Then
 If MsgBox("Voulez-vous valider les données?", vbYesNo) = vbYes Then
    
    For Each ligne In Sheets("formules").Range("listpacks")
        
            If ligne = Range("l9") Then
            
                If Range("f6") = Empty Then
                            
                    dl = 6
                Else
                    dl = Range("f5").End(xlDown).Row + 1
                End If
                
            
        'afficher les articles
        Range("f" & dl) = ligne.Offset(0, 2)
        Range("g" & dl) = Range("l10") * ligne.Offset(0, 3)
        Range("i" & dl) = Range("l9")
        Range("d" & dl) = Range("l8")
        Range("c" & dl) = Range("l7")
        Range("b" & dl) = "Sortie"
        Range("h" & dl) = Range("l6")
        
        End If
        
     Next ligne
            
     MsgBox "Le stock est mis à jour"
            ThisWorkbook.Save
            
            Range("l6:l10") = ""
            
End If
End If

    
End Sub


En espérant avoir été assez clair,

Nous vous remercions,

Cordialement,

Rémy et Marion
 

Pièces jointes

  • feuille test stock.xlsm
    60.6 KB · Affichages: 39

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir, ou plutôt Bonjour @remy3434 et Bienvenu sur XLD ! , bonjour le Forum,

Je pense que Marion est toi , vous serez contents d'être venus sur ce site, je pense vous avoir trouvé une solution assez sympathique en améliorant votre UserForm, c'est lui qui va stocker dans une ListBox additionnelle tous le détail des articles qui composent vos formules...
En plus ca fait un contrôle visuel en même temps...

Je vous laisse découvrir

Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_remy3434_Multi-Articles-Par-Lot-décalés_Commande_et_Stock_v00.xlsm
    64.4 KB · Affichages: 46

remy3434

XLDnaute Nouveau
Bonjour Thierry,

Nous te remercions pour ce que tu as fait, cela à l'air de correspondre parfaitement à ce que nous souhaitons !

On peut voir la différence de niveau dans ton codage, c'est autre chose !

En te souhaitant un agréable weekend et au plaisir,

Cordialement,

Marion et Rémy
 

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 435
Membres
111 136
dernier inscrit
Ahmad Ibnou