Gestion du stock

Bonjour,

Tout d'abord merci pour ce site génial et pour les cours Excel et VBA qui sont vraiment instructifs et d'excellente qualité !

Je poste sur le forum car je cherche à faire un fichier de gestion du stock plutôt basique mais pour rendre son utilisation plus "agréable", j'ai créé une sorte de formulaire de saisie des articles permettant d'insérer les articles dans la base de données. Ce que j'aimerais pouvoir faire c'est que lorsque la quantité est autre que 1 dans mon formulaire, par exemple 2, 3, 15, 50..., je puisse dupliquer dans ma base de données BDD_Stock 2, 3, 15 ou 50 fois la même ligne, puisqu'il s'agit d'un même article entrant en stock le même jour. Quelqu'un pourrait-il m'apporter son aide ?

Avec mes remerciements anticipés.

75gestion-stock.xlsm (52.57 Ko)

Bonjour,

Pour créer autant de lignes qu'il y a d'articles :

ligne = Sheets("BDD_Stock").Range("A9").End(xlDown).Row 'ligne modifiée
For i = 1 To Sheets("Formulaire").Range("E17").Value    'ligne ajoutée
    ligne = ligne + 1                                   'ligne ajoutée
    Sheets("BDD_Stock").Range("A" & ligne).Value = Sheets("Formulaire").Range("E9").Value  'ligne non modifiée
    Sheets("BDD_Stock").Range("B" & ligne).Value = Sheets("Formulaire").Range("G9").Value  'ligne non modifiée
    Sheets("BDD_Stock").Range("C" & ligne).Value = Sheets("Formulaire").Range("E13").Value  'ligne non modifiée
    Sheets("BDD_Stock").Range("D" & ligne).Value = Sheets("Formulaire").Range("G13").Value  'ligne non modifiée
    Sheets("BDD_Stock").Range("E" & ligne).Value = Sheets("Formulaire").Range("E17").Value  'ligne non modifiée
    Sheets("BDD_Stock").Range("F" & ligne).Value = Sheets("Formulaire").Range("E17").Value  'ligne non modifiée
    Sheets("BDD_Stock").Range("G" & ligne).Value = Sheets("Formulaire").Range("G17").Value  'ligne non modifiée
Next                                                     'ligne ajoutée

Par contre, si la quantité est 5 (par exemple) on aura 5 lignes avec quantité entrée :5 et quantité restante :5. Il faudrait certainement que vous adaptiez...

A+

Merciiiiiiiiiiii !!!! Quelle rapidité, quelle efficacité !!

Pour qu'il apparaisse dans mon tableau des quantité et quantité restante de 1, j'ai fait ça :

Sub EntrerArticles_2()
ligne = Sheets("BDD_Stock").Range("A9").End(xlDown).Row
For i = 1 To Sheets("Formulaire").Range("E17").Value
ligne = ligne + 1
Sheets("BDD_Stock").Range("A" & ligne).Value = Sheets("Formulaire").Range("E9").Value
Sheets("BDD_Stock").Range("B" & ligne).Value = Sheets("Formulaire").Range("G9").Value
Sheets("BDD_Stock").Range("C" & ligne).Value = Sheets("Formulaire").Range("E13").Value
Sheets("BDD_Stock").Range("D" & ligne).Value = Sheets("Formulaire").Range("G13").Value
Sheets("BDD_Stock").Range("E" & ligne).Value = 1
Sheets("BDD_Stock").Range("F" & ligne).Value = 1
Sheets("BDD_Stock").Range("G" & ligne).Value = Sheets("Formulaire").Range("G17").Value
Next
End Sub

Ce n'est peut-être pas très académique, mais ça fonctionne comme je le souhaite.

Merci infiniment de votre aide.

Salut, salut,

Je suis de retour car j'ai encore besoin d'aide pour mon fichier de gestion du stock.

J'ai fait tester mon fichier par une collègue qui m'a fait des remarques très pertinentes.

Afin de prendre en compte ses remarques, il faudrait que lorsque la cellule Quantité est vide, une Message Box demandant de saisir une quantité apparaisse et stoppe la macro. En revanche, si cette cellule est bien remplie avec un nombre, il faudrait alors que mon message "Enregistrement réussi" apparaisse.

J'espère que mes explications sont suffisamment claires

22gestion-stock.xlsm (123.24 Ko)

une solution possible :

ligne = Sheets("BDD_Stock").Range("A9").End(xlDown).Row
If Sheets("Formulaire").Range("E22").Value = 0 Then
    qte = Application.InputBox("Rentrer une valeur ", Type:=1)
    If qte < 1 Then
        MsgBox "Aucune ligne enregistrée"
        Exit Sub
    Else
          Sheets("Formulaire").Range("E22").Value = qte
    End If
End If
For i = 1 To Sheets("Formulaire").Range("E22").Value
    ligne = ligne + 1
    Sheets("BDD_Stock").Range("A" & ligne).Value = Sheets("Formulaire").Range("E10").Value
    Sheets("BDD_Stock").Range("B" & ligne).Value = Sheets("Formulaire").Range("G10").Value
    Sheets("BDD_Stock").Range("C" & ligne).Value = Sheets("Formulaire").Range("E14").Value
    Sheets("BDD_Stock").Range("D" & ligne).Value = Sheets("Formulaire").Range("G14").Value
    Sheets("BDD_Stock").Range("E" & ligne).Value = Sheets("Formulaire").Range("E18").Value
    Sheets("BDD_Stock").Range("F" & ligne).Value = Sheets("Formulaire").Range("G18").Value
    Sheets("BDD_Stock").Range("G" & ligne).Value = 1
    Sheets("BDD_Stock").Range("H" & ligne).Value = Sheets("Formulaire").Range("G22").Value
Next
MsgBox "Enregistrement réussi !"

Merci ! C'est encore mieux que ce que j'espérais pouvoir faire

Hello !

Le fichier de gestion a été mis en service et ma collègue me fait remonter un "bug: il est possible de générer des lignes dans la base de données du stock en ne renseignant que le champ "Quantité" dans le formulaire.

Pour y remédier, j'ai rendu la saisie des champs Auteur, Date, Fournisseur et Type de matériel obligatoire (en plus du champ Quantité). S'ouvre alors une MsgBox 'Un des champs obligatoires n'est pas rempli".

Ma question:

Est-il possible que le texte de la MsgBox varie suivant le champ obligatoire non rempli. Ex: "Le champ Auteur n'est pas rempli" ou "Le champ Fournisseur n'est pas rempli". Si oui, comment faire ?

Par ailleurs, est ce que ça fonctionnerait quand même si deux champs obligatoires ou plus ne sont pas renseignés ?

Merci d'avance de votre réponse.

47gestion-stock.xlsm (124.11 Ko)

Bonjour,

J'ai un nouveau besoin, toujours sur mon fichier de stock. Mon boss voudrait qu'il soit possible de savoir combien nous avons, en stock, d'un même article (Colonne C). Le nombre d'article effectivement en stock dépend de la colonne "Qté restante".

Je n'ai aucune idée de comment m'y prendre. Quelqu'un pourrait-il m'aiguiller ?

Merci...

Bonjour,

Une proposition.

Cordialement.

16gestion-stock1.xlsm (60.89 Ko)

Bonjour,

Je viens juste de voir votre message. Je pensais que ma question était restée sans réponse... Merci beaucoup.

Je n'avais pas pensé au tableau croisé dynamique! Ca fait effectivement le taf et si on ajoute des articles ils sont automatiquement pris en compte. Faut juste penser à l'actualiser...

C'est juste la présentation en tableau qui me convient moyennement. J'aurais aimé avoir dans une cellule, la liste déroulante de mes articles et dans une autre autre cellule adjacente, le nombre d'articles restant en stock.

En tous cas, c'est une excellente idée qui répond à mon besoin. Merci encore.

En utilisant la fonction NB.SI.ENS ça fonctionne également mais j'ai 2 problèmes sur mon fichier.

L'ajout d'un nouvel article dans ma base de données n'est pas pris en compte automatiquement. Il faut l'ajouter manuellement dans la feuille Paramètres (liste des articles sans doublon qui me sert pour ma liste déroulante de la feuille Accueil).

Les éléments de la liste déroulante ne sont pas classés par ordre alphabétique ce qui rend la recherche compliquée... Je joins le fichier, si jamais quelqu'un à une proposition pour régler ces 2 problèmes.

Avec mes remerciements.

12gestion-stock.xlsm (220.46 Ko)

Bonsoir,

Pas tout compris à ta demande. Tu parles de SOMME.SI.ENS et tu utilises SOMMEPROD.

Ton tableau structuré comporte des lignes vides, tes formules partent de la ligne 64 pourquoi ?

Cordialement.

Bonjour,

Mes questions concernent les cellules G16 et G20 (bleu clair) de la feuille Accueil. Le but de la cellule G20 est de choisir parmi la liste d'articles en stock (ou ayant été en stock) le but de la cellule G16 et de savoir combien il reste d'un article en stock.

Merci pour la remarque des formules partant de la ligne 64. C'est corrigé !

Bonsoir,

Adaptation d'une proposition de job75 pour la liste déroulante.

Cordialement.

31gestion-stock.xlsm (211.29 Ko)

@zebulon2 Waouh ! Merci c'est top !

J'aimerais bien quelques explications sur comment vous faites ça...

Bonsoir,

Qu'est ce que tu ne comprends pas ? l

Cordialement.

Rechercher des sujets similaires à "gestion stock"