Comment créer une gestion des stocks sur Excel partie 2 – ajouter un article

46
9606

Dans cette seconde partie de comment créer un gestionnaire des stocks sur Excel nous allons ajouter un article et crée un graphique dans notre tableau.

dans la première partie nous avons créer la base, désormais nous allons créer notre base de donnée pour les articles, cela nous allons le faire en avec un formulaire en VBA pour ajouter un article à notre base de donnée.

Index :

  1. Intro
  2. Article
  3. Bon de commande
  4. mise à jour des stock
  5. Le tableau de bord

Création du tablau sur la ligne B5

    • Nr Article
    • Nom
    • Description
    • Prix unité
    • Stock
    • Valeur stock
      • =prix unité x Stock
    • Stock min
    • Drapeau
      • =SI(F6<H6;1;””)
      • Mise en forme -> symbol >= 1 drapeau
      • Format personnalisée «Besoin »
    • Status
      • Crée une liste avec Active et Inactive
    • Vide
    • De 1 à > 10

Désormais nous allons ajouter quelque article

Création du graphique

Ici nous allons crée un graphique dans les cellules. Et notre graphique va contrôler si le nombre de stock est plus grand ou 0 au nombre.

Sélectionner de 1 à 10 et puisMise enforme conditionnel.

=ET($B6<>””;$F6>=$H6;$F6>=L$4) couleur bleu et une bordure.
=ET($B6<>””;$F6<$H6;$F6>=L$4) couleur rouge et une bordure
=$B6<>””

Graphqiue pour les données plus grand que.

Ici nous allons placer les mis en formes suivant :

=ET($B6<>””;$F6>U4) couleur bleu et une bordure.
=ET($B6<>””;$F6>U4) ;$F$6<$h$6) couleur bleu et une bordure.

Création du formulaire Ajouter.

Configurer nos objets du formulaire.

    • Label 1
      • Info
    • Textbox1
      • Txt_nom
    • Textbox2
      • Txt_description
      • Mutiline = true
      • Enterkeybehavior = true
    • Textbox3
      • Txt_prix
    • Textbox4
      • Txt_min_stock

Ajouter le numéro d’article automatiquement.

Sur la page config nous allons placer dans la cellule B17 le titre suffix. Puis dans B19 nous allons placer le titre article. Dans la cellule C19 nous allons placer le suffixe ou le préfix et dans la cellule D19 le numéro ou nous voulons que notre nr d’article commence.et pour finir dans la cellule E19 nous allons concaténer le tout mais je veux que les chiffre on min 4 zéro et 1 chiffre.

=C19&TEXTE(D19; “00000”)

Désormais que nous avons notre nr d’article nous allons dire qu’il faut l’afficher dans info au moment que notre formulaire s’ouvre.

Me.Label1.Caption = Sheets(8).Range(“E19”)

Ajouter les articles dans le tableau

Sur le bouton nous allons crée la variable DL .

Puis nous allons controler si nos zone ne sont pas vide avec la condition IF. Si nos conditon sont rempli nous allons crée un nouvelle ligne dans notre tabeau et puis place notre article.

Ne pas oublier de sauvegarder avec thisworkbook.save

création du bouton ajouter.

Créer un bouton au-dessus du tableau et dans le code placer

Add_article.Show

Voila cette seconde partie qui ou on à ajouter un article est terminé. Dans la prochaine partie nous allons voir comment crée notre bon de commande. Si vous avez des questions surtout n’hésiter pas et poster le dans les commentaires ou sur la page facebook. Facebook.com/tutoderien.

46 Commentaires

  1. bonjour votre tuto est super bien fait, mais j’ai un soucis, quand je rempli le formulaire et que je clique sur le bouton ajouter (rien ne se passe pas de nouvelle ligne dans la feuille ARTICLE)

    Private Sub CommandButton1_Click()
    Dim DL As Integer

    If Me.Txt_nom “” And Me.Txt_description “” And Me.Txt_prix “” And Me.Txt_min “” Then

    Sheets(2).ListObjects(1).ListRows.Add
    DL = Sheets(2).Range(“b9999”).End(xlUp).Row

    ‘ajouter dans le tableau
    Sheets(2).Range(“b” & DL) = Me.Labe_info
    Sheets(2).Range(“c” & DL) = Me.Txt_nom
    Sheets(2).Range(“d” & DL) = Me.Txt_description
    Sheets(2).Range(“e” & DL) = CCur(Me.Txt_prix)
    Sheets(2).Range(“h” & DL) = CInt(Me.Txt_min)
    Sheets(2).Range(“j” & DL) = “Active”

    Sheets(8).Range(“d19”) = Sheets(8).Range(“d19”) + 1
    ThisWorkbook.Save
    Unload Add_article
    End If
    End Sub

    Private Sub Add_article_Click()

    End Sub

    Private Sub Txt_min_Change()
    ‘uniquement des chiffres
    If Not IsNumeric(Txt_min) And Txt_min “” Then
    MsgBox “Désoler Uniquement Des Chiffres !”
    Txt_min = “”
    End If
    End Sub

    Private Sub Txt_prix_Change()
    ‘uniquement des chiffres
    If Not IsNumeric(Txt_prix) And Txt_prix “” Then
    MsgBox “Désoler Uniquement Des Chiffres !”
    Txt_prix = “”
    End If
    End Sub

    Private Sub UserForm_Initialize()
    Me.Labe_info.Caption = Sheets(8).Range(“E19”).Value
    End Sub

    Merci de bien vouloir me repondre

  2. Bonjour ,

    Merci pour vos tutos très bien fait , j’ai le meme souci que Faith avec une ligne jaune sur DL = Sheets(2).Range(“b99999”).End(xlUp).Row.
    Voici mon code :

    Private Sub CommandButton1_Click()
    Dim DL As Integer

    If Me.txt_nom “” And Me.txt_description “” And Me.txt_prix “” And Me.txt_min “” Then

    Sheets(2).ListObjects(1).ListRows.Add
    DL = Sheets(2).Range(“b99999”).End(xlUp).Row

    ‘ajouter dans le tableau
    Sheets(2).Range(“b” & DL) = Me.Label_info.Caption
    Sheets(2).Range(“c” & DL) = Me.txt_nom
    Sheets(2).Range(“d” & DL) = Me.txt_description
    Sheets(2).Range(“e” & DL) = CCur(Me.txt_prix)
    Sheets(2).Range(“f” & DL) = CInt(Me.txt_min)
    Sheets(2).Range(“j” & DL) = “Active”

    Sheets(8).Range(“d19”) = Sheets(8).Range(“d19”) + 1

    ThisWorkbook.Save

    Unload Add_article

    End If
    End Sub

    Merci beaucoup d’avance pour votre réponse car je bloque dessus . 4 essais en reproduisant les mêmes codes que vous sur la vidéo , je désespère !!!!

  3. Bonjour,

    Merci de votre retour,

    Le fait est que quand je fais cette manœuvre de base ne marche pas, quand je fais clic droit et que la fenetre s’affiche pour me proposer insérer/supprimer ou autre, cela n’est pas grisé.

    Peut etre une erreur de ma part dans la codification, qu’en pensez-vous ?

  4. Bonjour,

    Votre tutoriel est vraiment génial, simple, clair et limpide avec énormément d’explications, je tenais à vous remercier.

    Cependant je suis embêté car je ne sais pas comment supprimer les lignes articles ajouter, pouvez-vous m’éclairer sur ce sujet ? Je ne trouve pas de codes VBA qui pourrait m’aider.

    Dans l’attente de votre retour,

    Bien cordialement.

  5. Bonjout M.Daniel
    Grand Merci pour votre tutoriel.J’ai un souci concernant la dernier ligne du code Ajouter .L’instruction Unload Add_article donne une erreur de type 424 requérant un objetje constate quand meme que les champs sont inséréscomment pourrais-je réparer ceci?
    Abder BELAID

  6. bonjour l’ami je vous dit un grand merci beaucoup pour ce tuto mais j’ai un problème,
    a propos du label il ne change pas je ne sais pas ou est le problème pourtant j’ai comme vous l’avez dit pas a pas mais aucun resultat…
    eclairez moi svp
    Merci d’avance

  7. bonjour Mr Daniel ,merci pour ton tutorial je suis en chine pour mon master mais je veux crrer la meme application sur excel mais j’ai rencontres des des diffuculte au 2eme tutorial apres apres finis au niveau de la compilation on me dit Erreur de compilation “Membre de methode ou de donnes introuvable” .Txt_nom es souligner en bleu et le private sub commamdeBouton1_Click () es souligner en jaune veuillez m’assiste merci infinement

    • Bonjour Anthony,
      il y a des questions que je peux répondre sans devoir tester un bout de code donc ils reçoivent plus vite une réponse. dans votre cas il me faut tester le code que vous avez indiquer dans votre commentaire donc il me faut trouver le temps de tester votre code. et pour rappelle vous n’êtes pas la seul a sollicité mon aide.

      alors pour répondre à votre problème que vous m’avez soumis qui est la suite .

      Ce code….
      Private Sub UserForm2_Initialize()
      Me.Labe_info.Caption = Sheets(“config”).Range(“E19”).Value
      End Sub
      ….n’affiche absolument rien! Dans le userform je reste coincé avec LABE dans le haut. De plus entre le code du tuto et le code sur cette page il n’y a pas de .Value !?!

      j’ai donc tester votre code et cela fonctionne vérifier que votre label se nomme bien labe_info et que votre page config se nomme bien config et qu’il y a quelque chose dans le champs E19.
      avec le .value nous allons simplement dire de reprendre la valeur de la cellule(range) comme elle est mais c’est optionnel vous pouvez retiré cela si vous le souhaitez.

  8. Bonjour Mr DANIEL,
    Merci pour les tutoriels.
    Je vous envoie les codes que j’ai introduit dans l’application Gestion de stock N°3, dans la rubrique
    ORDER…..Commande AJOUTER comme suite :
    Option Explicit
    Public memoire As Integer

    Private Sub Btn_Ajouter_Click()

    With Me.List_Order

    .AddItem

    .List(memoire, 0) = Me.Cbx_DésignationPdt

    .List(memoire, 1) = Me.Txt_Quantité

    End With

    memoire = memoire + 1
    Quand je remplie le formulaire ORDER , j’actionne la commande AJOUTER , l’expression Additem se met en bleu et un message d’erreur apparait : « Erreur de compilation :Membre de méthode ou de données introuvables ».Et l’expression : Private Sub Btn__Ajouter_click()(intitulé du bouton AJOUTER)se colore en jaune.
    Veuillez m’aider à résoudre ce problème et à me corriger Merci.

  9. Ce code….
    Private Sub UserForm2_Initialize()
    Me.Labe_info.Caption = Sheets(“config”).Range(“E19”).Value
    End Sub
    ….n’affiche absolument rien! Dans le userform je reste coincé avec LABE dans le haut. De plus entre le code du tuto et le code sur cette page il n’y a pas de .Value !?!

  10. Bonjour,

    Merci pour le tuto. Lorsque je veux programmer le bouton “ajouter”, un message d’erreur apparaît en me disant : “erreur d’exécution ‘438’, propriété ou méthode non gérée par cet objet”.

    La ligne souligné en jaune est : Sheets(7).Listojects(1).ListRows.Add (feuille 7 car “article” est en 7)

    le code :

    Private Sub CommandButton1_Click()
    Dim DL As Integer

    If Me.Modele “” And Me.Piece “” And Me.Couleur “” And Me.Qualite “” And Me.TextBox2 “” And Me.Prix “” And Me.Stock_minimum “” Then

    Sheets(7).Listojects(1).ListRows.Add
    DL = Sheets(7).Range(“b9999”).End(xlUp).Row

    ‘ajouter dans le tableau

    Sheets(7).Range(“B” & DL) = Me.Modele
    Sheets(7).Range(“c” & DL) = Me.Piece
    Sheets(7).Range(“D” & DL) = Me.Couleur
    Sheets(7).Range(“E” & DL) = Me.Qualite
    Sheets(7).Range(“G” & DL) = CCur(Me.Prix)
    Sheets(7).Range(“L” & DL) = “Actif”
    Sheets(7).Range(“F” & DL) = Me.TextBox2

    ThisWorkbook.Save

    Unload Add_Article

    End If

    End Sub

    Merci d’avance !

  11. bonjour , merci pour se tutoyer qui est vraiment très instructif et intéressant ; je viens vers vous car j’ai un problème lors de la mise en place de l’article en effet pour labe_info il me dit que’il y aune erreur de compilation savez vous pourquoi et comment résoudre le problème merci d’avance

  12. Bonjour daniel j’aii un probleme dans la creation des articles. si par hasard il y’a des artticles que je veux supprimer mais ne pas laisser la case vide que devrais je ajouter dans le programme pour que ca n’ajoute pas une ligne si la ligne precedente a ete vidé ??
    merci de me repondre

  13. Le grand merci mon frère
    Est se que tu peux m’aide ?
    J’ai des questions pour une conversation pourque tu savoir tout d’abord j’ai commencé le travaille dans un usine un gestionnaire de stock et de production

  14. bonjour,
    tout d’abord je vous remercie du fond du coeur pour tout ce que vous faites.
    j’ai suivi pas à pas votre tuto , tout marche à merveille , sauf le numéro article je n’arrive pas à l’afficher , un message sur le formulaire , je reçois le message d’erreur suivant ;
    ” erreur d’execution 1004 , erreur définie par l’application ou par l’objet ”
    merci d’avance ,

  15. Bonjour,

    Un grand merci pour la transmission de votre savoir !
    J’avais une question concernant le bouton “ADD” :
    Lorsque je clique dessus, le formulaire d’ajout d’un article s’affiche bien. Lorsque je quitte la boite de dialogue et que je clique ailleurs sur la feuille et que je re-clique sur le bouton “ADD” celui-ci a le nom ADD qui descend petit à petit à chaque fois que clique dessus.

    Savez-vous d’où peut provenir le problème s’il vous plait ?

    Je vous en remercie par avance !

    Louis

  16. Bonjour Daniel,

    Avant toute chose je tenais à vous remercier pour ce tutoriel. En plus de fournir un outil gratuit chose rare de nos jours, vous m’éclairez d’avantage sur l’élaboration d’une macro.

    Cependant je fais face à une problématique. L’outil était fonctionnel jusqu’au moment d’ajouter un nouvel article. En effet, arrivé en ligne 12 de ma feuille 2 “Articles”, Excel cesse de fonctionner à partir du moment où je click sur le bouton Ajouter.

    Avez-vous une idée du souci ? Je peux vous fournir des éléments pour plus de précision.

    En vous remerciant par avance et bonne journée.

  17. cet ligne
    Sheets(“article”).ListObjects(1).ListRows.Add
    est jaune
    l’indice n’appartiens pas a la selection
    j’ai changer le article par N mais reste le meme probleme

  18. Bonjour DANIEL, si je peux vous appeler ainsi,
    J’ai le même soucis que FAITH. Après codage j’ai une erreur d’exécution ‘1004’ Erreur défini par l’application ou par l’objet.
    C’est cette la ligne qui est jaune
    dl = Sheets(2).Range(“b99999”).End(x1Up).Row
    Je vous remercie d’avance

  19. Salut Damien.

    Merci beaucoup pour tes tutoriels.

    En fait j’ai un souci à mon niveau. Je n’arrive pas à afficher la liste déroulante dans la colonne “Statuts” pourtant j’ai bien suivi les étapes. Aussi jen’arrive pas à créer le bouton “Ajouter article” sur la feuille; le bouton “Insérer” présent dans l’onglet “Développeur” est grisé.

    Merci pour l’aide.

  20. Je vous remercie infiniment pour votre bonne générosité.
    Au faite moi je me n’arrive pas a réussir le code du bouton d’ajout a la base de donnée.
    Quand j’exécute le code cela me dit toujours “Erreur définie par l’application ou par l’objet”

    Voici le code ci-dessous, orienter moi svp
    Private Sub CommandButton1_Click()
    Dim dl As Integer ‘Pour determiner la derniere ligne du tableau

    If Me.txt_nom “” And Me.txt_description “” And Me.txt_prix “” And Me.txt_mini “” Then
    Sheets(2).ListObjects(1).ListRows.Add ‘Ajouter une ligne au tableau

    dl = Sheets(2).Range(“b99999”).End(x1Up).Row ‘Aller a la derniere ligne

    ‘Ajout dans le tableau
    Sheets(2).Range(“b” & dl) = Me.Label_info.Caption
    Sheets(2).Range(“c” & dl) = Me.txt_nom
    Sheets(2).Range(“d” & dl) = Me.txt_description
    Sheets(2).Range(“e” & dl) = CCur(Me.txt_prix)
    Sheets(2).Range(“h” & dl) = CInt(Me.txt_mini)
    Sheets(2).Range(“j” & dl) = “Active”

    ‘incrémenter le nr d’article sur la page config

    Sheets(8).Range(“D19”) = Sheets(“d19”) + 1
    ThisWorkbook.Save
    Unload New_Arrivage
    End If

    End Sub

    Merci de me repondre
    Moins

    RÉPONDRE

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.