Gestion de stock avec UserForm

Bonjour à vous,

Je reviens car je veux faire évoluer mon fichier de gestion de stock. J'ai acheté une douchette USB. Elle fonctionne nickel avec Excel.

Celui d'origine était parfait mais j'ai envies de l'améliorer.

Etant toujours au niveau 0 en matière de VBA je me permet de solliciter votre aide pour ce nouveau fichier.

Dans ce fichier je suis parti sur une userform, l'agencement me convient mais les champs de saisie ne sont peut être pas les bons.

Je souhaite que dans le champs "Code barre" quand je scanne un article (le code barre peut être sur des longueurs différentes en fonction des fournisseurs avec lettre et chiffre) les différents champs affiche les informations contenues dans l'onglet "stock", une sorte de recherchev et si le code barre n'existe pas, avoir un message m'indiquant que l'article n'existe pas et avoir la possibilité de pouvoir remplir manuellement l'article pour le rajouter dans le stock.

  • Si l'article existe, mettre à jour le champs "pièces en stock" et ensuite modifier la quantité dans l'onglet stock quand je clique sur valider.
  • Si l'article n'existe pas, créer une nouvelle ligne avec les renseignements insérés dans les champs avec une obligation de contenu sur l'ensemble des champs sinon la validation ne sera pas faite.

A chaque fois qu'une entrée est modifiée ou créée j'aimerais que le tri croissant sur la colonne A soit fait.

Je sais que c'est possible, je voudrais aussi que sur la droite de la userform quand l'article existe, pouvoir afficher l'image du produit ou dans le cas contraire, pouvoir l'ajouter. Je n'ai aucune idée sur le nommage des photos mais j’espère une manière simple au vu du nombre de références que j'ai (environ 1000)

Merci d'avance à tout ceux qui m'apporteront leurs aident.

Je vous joint le fichier que j'ai commencé.

Teste ce fichier en cliquant sur Entrée/Sortie et en scannant ton code barre.

Bonjour funkyfoenky,

Merci pour cette rapidité.

La recherche en fonction du code barre est nickel.

Un premier pas que tu viens de me faire franchir.

Est il possible d'avoir le prix en euro dans le champs prix unitaire de la userform?

Bonjour,

Je sais que j'en demande beaucoup mais je suis vraiment une truffe en VBA et j'en appel à votre aide.

Je cherche à droite et à gauche pour voir comment me débrouiller seul mais sans résultat probant.

Pour avoir le prix en euros tu mets :

TextBox8.Value = c.Offset(0, 8).Value & " €"

à la place de

TextBox8.Value = c.Offset(0, 8).Value

Bonjour à vous,

J'ai travaillé un peu dessus et j'ai avancé pas mal vu mon niveau.

Je ne sais pas si le VBA est optimal et si je pouvais l'alléger un peu.

Il ne me reste plus qu'à faire la partie de modification d'une ligne si l'article existe.

En fonction de la sélection "ajouter" ou "retirer" un article.

J'aurais pour cette partie besoin d'aide.

J'ai également un soucis sur l'affichage du prix. Le format me semble correct pourtant.

Merci d'avance à ceux qui pourraient m'aider.

Bonjour,

Pour le formatage de la textbox j'ai réglé mon problème d'affichage.

txtPrix.Value = Format(c.Offset(0, 8).Value, "0.00" & " €")

J'espère avancer sur la partie modification d'article en fonction de l'option coché.

Pour la partie suppression d'article: (à partir de ton code existant)

Sub cmdRemove_Click() 'Supprimer l'article en cours de visualisation
Dim rng As Range

Set rng = Sheets("Stock").Columns(1).Find(what:=txtCodeBarre.Value, lookat:=xlWhole)
If not rng Is Nothing Then rng.EntireRow.Delete

        txtCodeBarre.Value = ""
        txtFnr.Value = ""
        txtRef.Value = ""
        txtModele.Value = ""
        txtCouleur.Value = ""
        txtCodeC.Value = ""
        txtTaille.Value = ""
        txtPrix.Value = ""
        txtStock.Value = ""
        txtQuantite.Value = ""

        MsgBox "L'article a bien été supprimé du stock"
End Sub

Merci beaucoup funkyfoenky,

C'est plus clair et ça fonctionne parfaitement.

Pour la modification d'article (ça n'existe pas dans ton fichier mais tu peux t'inspirer de ce que tu as fait pour la création):

Private Sub cmdModify_Click()
Set c = Sheets("Stock").Columns(1).Find(what:=txtCodeBarre.Value, lookat:=xlWhole)
If Not c Is Nothing Then
            c.Offset(0, 1).Value = txtFnr
            c.Offset(0, 2).Value = txtRef
            c.Offset(0, 4).Value = txtModele
            c.Offset(0, 5).Value = txtCouleur
            c.Offset(0, 6).Value = txtCodeC
            c.Offset(0, 7).Value = txtTaille
            c.Offset(0, 8).Value = txtPrix
            c.Offset(0, 9).Value = txtQuantite

        txtCodeBarre.Value = ""
        txtFnr.Value = ""
        txtRef.Value = ""
        txtModele.Value = ""
        txtCouleur.Value = ""
        txtCodeC.Value = ""
        txtTaille.Value = ""
        txtPrix.Value = ""
        txtStock.Value = ""
        txtQuantite.Value = ""

    End With
    MsgBox "L'article a bien été modifié"
Else
MsgBox ("Le numéro d'aricle sélectionné ne peut pas être retrouvé dans la feuille des stocks")
End If

End Sub

Après le défaut de ce code c'est qu'il prend toutes les modifications en charge sauf la modification de code article.

Au passage je n'ai pas compris à quoi servait ta variable "flag" dans ton bouton de création d'un nouvel article.

Salut funkyfoenky,

J'ai laissé tomber le systeme avec les boutons d'option et je suis revenu aux boutons de commande pour l'ajout et le retrait d'article.

La variable flag ne servait à rien je l'ai enlevé hier.

J'ai fini pour cette partie la et je vais chercher un peu pour vraiment rendre mon fichier complet.

Je te remercie encore de ton aide et je mets ce poste en résolu

Rechercher des sujets similaires à "gestion stock userform"