Comment créer une gestion des stocks sur Excel partie 3 – Créer un bon de commande

57
11157

 

Dans cette 3eme partie du comment créer une gestion des stocks sur Excel, nous allons voir comment créer un bon de commande le sauvegarder en format pdf et l’envoyer au fournisseur.

Création du tableau

Sur notre page Order dans la cellule B5 nous allons crée notre tableau.

    • Nr commande
    • Date
    • Nr. Article
    • Nom
    • Nombre
    • Prix
    • Prix total
      • Nombre x prix
    • Fournisseur

Création du formulaire de commande.

Je vais crée le formulaire et on se retrouve juste après.

Configurer les objets du formulaire.

    • Label1
      • Info
    • Combobox1
      • Cbx_fournisseur
      • Rowsource Fournisseur
    • Combobox2
      • Cbx_article
      • Rowsource article
    • Textbox1
      • Txt_nombre
    • Commandbuton1
      • Btn_ajouter
    • Listbox1
      • List_order

Ajouter le nr de commande automatiquement.

Tout comme l’article nous allons ajouter la commande automatiquement.

Ajouter une nouvelle entre dans la config en dessous du nr article et indiquer le nr de commande.

Dans initialiser le formulaire.

Ajouter des articles à la commande.

Avant de commencer nous allons créer une variable public qui nous permettra de garder en mémoire sur quel ligne nous allons placer nos information dans la listbox.

Public memoire as integer.

Avec le bouton Btn_ajouter nous allons contrôler s’il y a un article et un nombre. Par la suite nous allons contrôler s’il y a déjà max 20 article dans notre commande. Si c’est le cas alors nous ne pouvons pas commander. Sinon nous allons ajouter l’article à notre liste.

Avant de placer l’article dans notre zone de liste nous allons rechercher des informations ainsi nous allons ajouter le nom et le prix.

Ajouter la commande.

Première chose nous allons controler s’il y a des commandes et s’il y a un fournisseur de sélectionner. Puis avant d’ajouter la commande nous allons demander si nous voulons passer la commande.

Si la commande est prete à êter registré nous allons compter le nombre d’article dans notre zone de liste et puis nous allons placer ligne par ligne notre commande dans notre base de donnée.

Et quand c’est fini nous allons fermer notre formulaire.

Corriger une commande.

Une erreur est vite arrivée c’est pourquoi nous allons créer une possibilité de supprimer un article dans notre liste de commande.

Pour cela nous allons faire une double clique et placer le code suivant.

Création de notre bon de commande.

Il est temps de crée notre bon de commande sur la page Po.

Configurer notre bon de commande.

Dans la cellule C11 nous allons placer notre nr de bon de commande. Avec se numéro nous allons chercher les informations afin de les faire apparaître sur notre bon de commande.

    • Nr
      • =SI(C23<>””;LIGNE()-22;””)
    • Nr Article
      • =SIERREUR(INDEX(Tableau4[Nr article];PETITE.VALEUR(SI(Tableau4[Nr commnde]=Po!$C$11;LIGNE(Tableau4[Nr article])-5);LIGNE()-22));””)
      • Valider avec CTRL + Maj + Enter
    • Nom
      • =SIERREUR(INDEX(Tableau4[nom];PETITE.VALEUR(SI(Tableau4[Nr commnde]=Po!$C$11;LIGNE(Tableau4[Nr article])-5);LIGNE()-22));””)
      • Valider avec CTRL + Maj + Enter
    • Nombre
      • =SIERREUR(INDEX(Tableau4[nombre];PETITE.VALEUR(SI(Tableau4[Nr commnde]=Po!$C$11;LIGNE(Tableau4[Nr article])-5);LIGNE()-22));””)
      • Valider avec CTRL + Maj + Enter
    • Prix unité
      • =SIERREUR(INDEX(Tableau4[[prix ]];PETITE.VALEUR(SI(Tableau4[Nr commnde]=Po!$C$11;LIGNE(Tableau4[Nr article])-5);LIGNE()-22));””)
      • Valider avec CTRL + Maj + Enter
    • Total
      • =SIERREUR(F23*E23;””)
      • Valider avec CTRL + Maj + Enter
    • Total HTVA
      • =SOMME(G23:G43)
    • TVA 21%
      • =G46*0,21
    • Total TTC
      • =G47+G46
    • Date
      • =SIERREUR(INDEX(Tableau3[Date];EQUIV(Po!C11;Tableau3[Order Nr:];0));””)

Afficher le demandeur.

Sur la page config nous allons crée un section pour le bon de commande. Dans la cellule B25.

Nous allons indiquer nos informations ainsi que la condition.

Sur notre bon de commande nous allons ajouter nos information.

Afficher le fourisseur.

Nous allons rechercher les informations de notre fournisseur.

    • Fournisseur
      • =SIERREUR(INDEX(Tableau3[supplier];EQUIV(Po!C11;Tableau3[Order Nr:];0));””)
    • Adress
      • =SIERREUR(INDEX(Tableau2[Adress];EQUIV(Po!F16;Tableau2[Name];0));””)
    • Code postal + pays + ville
      • =SIERREUR(INDEX(Tableau2[group];EQUIV(Po!F16;Tableau2[Name];0));””)
    • Tel
      • =SIERREUR(INDEX(Tableau2[Phone];EQUIV(Po!F16;Tableau2[Name];Supplier!B1));””)
    • Mail
      • =SIERREUR(INDEX(Tableau2[Mail];EQUIV(Po!F16;Tableau2[Name];0));””)

Indiquer les conditions/info d’achat.

Sélectionner les cellule B45 à E50 et indiquer l’emplacement sur la page de config qui contient les conditions.

Déterminer la zone d’impression.

Comme nous voulons uniquement indiquer la partie de notre bon de commande nous allons déterminer la zone d’impression. Dans mise en page cliquer sur imprimer les titres puis dans zone d’impression sélectionner le contour de votre bon de commande. Cliquer sur aperçu et si votre bon de commande est sur deux page alors faite mise en page et ajuster 1 pages en largeur sur 1 en hauteur.

Imprimer et sauvegarder le bon de commande.

De retour sur notre bouton de commande nous allons ajouter un code qui permet d’imprimer le tout et surtout de sauvegarder le bon de commande sur notre pc.

Ce bout de code nous allons le placer après le Next ligne

Alé on test si tout fonctionne.

Voila cette 3eme partie est terminer. Si vous avez des questions faites le moi savoir dans les commentaires et on se retrouve dans la prochaine partie.

57 Commentaires

  1. bonjours
    j’ai une question je suis sur le gestionnaire de stock partie 3 dans
    ‘afficher nos information dans la base de donnée order
    comment je peu faire pour mettre le label_info.caption dans une cellule a part de mon tableau
    le placer sur ma sheets (11) en cellule O6 par exemple

  2. Salut Daniel…tout d’abord merci pour ton travail.
    Il se trouve que j’ai un soucis juste à la fin du 3ème cour.
    la flèche jaune m’indique “openafterpublish:=true” comme toi sur la video mais j’arrive pas localiser l’erreur j’ai tout fait à la l’être

  3. bonjour coach j’ai un problème avec
    code_PCT = WorksheetFunction.VLookup(Me.Cbx_Article, Sheets(2).Range(“b;i”), 2, 0) le message c’est (erreur d’exécution ‘1004’ : erreur définie par l’application ou par l’objet’ merci d’avance

  4. J’ai travaillé a excel 2007 , un débogage : erreur d’excution ‘5’ /argument au appel de procédure incorrect.
    Sheets(4).ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=”C:\Users\hamza.haddadi\Desktop\po\” & Me.Cbx_Fournisseur & “-” & Me.Label_info.Caption, _
    openafterpublish:=True

  5. Bonjour à vous !
    Lorsque je saisie les commandes suivantes, il y a une erreur qui s’affiche et je ne comprends toujours pas pourquoi cela est dû:
    With Me.List_order
    .AddItem <==[L'erreur est au niveau de cette ligne]
    .List(memoire, 0) = Me.Cbx_article
    .List(memoire, 2) = Part_name
    End With
    memoire = memoire + 1

  6. Bonsoir coach daniel@DERIEN
    j’ai un souci hein, j’ai deja fini tout votre cours, les 6 video je veux dire mais j’ai un problème très étonnant qui me casse la tete depuis hier.
    En effet, lorsque j’effectue ma commande, elle s’affiche bien en format PDF sauf qu’ici les articles qui y sont dans le tableau ne correspondent pas à ce que j’ai écrit dans mon bon de commande. Je ne comprends pas ce qui se passe, pourtant tous les articles que j’ai ajoutés dans mon bon de commande apparaissent bien dans l’onglet Order.
    mon soucis est que le fichier PDF généré ne me sort pas les articles que j’ai saisis dans mon bon de commande, ce que je trouve louche.
    SVP Coach, j’ai besoin de votre aide et merci encore pour vos efforts à notre égard

      • Bonjour Mr Daniel, merci pour ce tutoriel fantastique et très bien expliqué. Il se trouve que j’ai le même problème.

        Tous les articles ne s’affichent pas dans le bon de commande exporté mais ils figurent dans la feuille “order”.
        Il y a une partie de la commande précédente et une partie de la nouvelle commande qui s’affichent dans le BC mais jamais la totalité de la dernière commande.

  7. Bonsoir coach daniel@DERIEN
    moi j’ai un problème au niveau de la vidéo N°3 lorsQu’il faut ajouter les articles dans le formulaire
    L’erreur est principalement au niveau de
    Private Sub commandButton_click() (qui est surligné en jaune)
    Et AddItem ( est surligné en bleu)

    Le message suivant s’affiche “erreur de compilation des données….” Vous connaissez et j’aimerai savoir quoi faire pour corriger cette erreur et merci d’avance

  8. Bonjour Daniel,

    j’essaie de faire pareil que vous mais je n’ arrive pas à ajouter les article dans la liste_order

    Private Sub CommandButton1_Click()

    With Me.List_order
    .AddItem
    .List(memoire, 0) = Me.Cbx_article
    .List(memoire, 1) = Me.Text_nombre
    End With
    memoire = memoire + 1
    End Sub

    et ça m affiche erreur de compilation
    membre de méthode ou de données introuvable

    Merci pour votre aide

  9. bonjour Daniel je travaille sur la version excel 2016 et je suis bloque sur la code A partir de type: =xltypepdf, le message ”attendu : indicateur” et colori le code en rouge et “:=” en bleu ; comment puis je resourdre ceci?
    merci d’avance

  10. Bonjour Coach
    Merci pour tout ce que vous faites et pur vos tutos.
    Je vous écris parce que je suis coincé au niveau du formulaire de Bon de Commande
    Lorsque je choisis l’article et que je définis ensuite un nombre, la première ligne est renseignée mais après la première ligne, je ne vois plus le reste des lignes. je remarque que des données y sont enregistrées mais impossible de les voir.
    Svp aidez moi car je suis coincé pour la suite

  11. Bonjour jai un probléme ici: =SIERREUR(INDEX(Tableau5[Nr article];PETITE.VALEUR(SI(Tableau5[Nr commande]=Po!$C$11;LIGNE(Tableau5[Nr article])-5);LIGNE()-22));””) si je remplace Nr article par nom et que je valide jai un message d’erreur
    Est aussi normal d’avoir tableau5 alors que vous avez tableau 4
    Merci d’avance

  12. Bonsoir daniel@DERIEN
    moi j’ai un problème au niveau de la vidéo N°3 lorsQu’il faut ajouter les commandes
    Dans le formulaire
    L’erreur est principalement au niveau de
    Private Sub commandButton_click() (qui est surligné en jaune)
    Et AddItem ( est surligné en bleu)

    Le message suivant s’affiche “erreur de compilation des données….” Vous connaissez et j’aimerai savoir quoi faire pour corriger cette erreur et avancer merci

  13. Bonjour, Mr DANIEL
    Merci beaucoup pour le tuto gestion des stocks
    je suis bloqué sur Excel partie 3, par un message qui s’affiche au moment où j’ajoute un article. Il m’indique “erreur de compilation: membre de méthode ou de données introuvable” et à cela .AddItem
    s’il vous plait de m’aider a corriger cet erreur.

  14. bonsoir, je suis à la 3ème étape comment créer une gestion de stock et je suis bloquée au niveau de la creation du bon de commande je rentre la grande formule “=SIERREUR(INDEX(Tableau4[Nr article];PETITE.VALEUR(SI(Tableau4[Nr commnde]=Po!$C$11;LIGNE(Tableau4[Nr article])-5);LIGNE()-22));””) ça ne fonctionne pas déjà il me met tableau 3 et non 4 et je me retrouve bloquée et de plus il ne veut pas me rentrer également la formule “total”. Pouvez-vous m’aider car j’en ai besoin pour mon travail. Merci

  15. Bonjour,
    Lorsque je veux mettre la formule en C23 de la feuille Purchase :
    =SIERREUR(INDEX(Tableau4[Nr article];PETITE.VALEUR(SI(Tableau4[Nr commnde]=Po!$C$11;LIGNE(Tableau4[Nr article])-5);LIGNE()-22));””)
    Le logiciel excel me demande d’ouvrir un fichier et n’applique pas la formule.
    Comment faire pour dépanner ?
    Merci d’avance

  16. Bonsoir,

    j’ai essayé de reproduire le code mais ils affichent un message d’erreur”attendu : indicateur”. pourriez-vous m’indiquer comment corriger cette erreur?
    merci

  17. Bonjour Daniel et merci pour ce tuto complet.
    Je me pose une question concernant le passage de commande lors du choix du fournisseur peut on sélectionner uniquement les articles que celui vend ou pas?
    Petit exemple si un fournisseur A vende un produit x et qu un fournisseur b vend un produit y, peut t on faire en sorte que lorsque l on choisi le fournisseur b seule le produit y apparaisse dans la combobox articles ou cela est impossible ?

  18. Bonjour Daniel.,
    Merci pour le tutos mais j’ai un problème avec la partie de “”Imprimer et sauvegarder le bon de commande.””
    VBA n’arrive pas as trouver cbx_fournissseur
    merci d’avance

  19. Bonsoir,
    Un grand merci pour cette application qui va mettre fort utile.
    Je voudrais savoir si lors du passage de la commande lorsque l on choisit notre fournisseur il été possible de sélectionner uniquement les produits que celui-ci nous vend ? Si oui qu elle en serait le code?
    Je vous remercie par avance

  20. Bonjour,

    J’ai un petit souci avec le code suivant :
    Name_part = WorksheetFunction.VLookup(Me.Cbx_Partnumber, Sheets(2).Range(“b:n”), 5, 0)

    J’ai l’erreur 1004 “unable to get the Vlookup property of the worksheetFuntion class”

    Pouvez-vous m’aider ?

    • Bonjour Romain, est-ce que les données que vous rechercher existe ? car l’erreur indique qu’il ne trouve pas de résultat rechercher pour masquer cela il faut placer un traitement d’erreur comme on error goto erreur ou on error resume next.
      faite moi savoir si se n’est pas le cas

  21. Bonjour,
    Tout d’abord , félicitations pour l’ensemble de votre travail.
    J’ai un problème pour créer mon numéro de commande automatique.
    Je voudrais que mon label_info.caption soit du style S30-01.
    S30 = numéro de la semaine où je passe ma commande.
    01 = première commande de la semaine 30.
    Par exemple, si je passe ma 6ème commandes le 31/07/2018 mon label_info.caption = S31-06.

    Merci par avance pour vos suggestions,
    Cordialement,
    Bodegue

    • Bonjour Bodegue,
      alors se n’est pas difficile à faire mais difficile à expliquer dans un commentaire donc je vais faire de mon mieux.
      sur une nouvelle feuille nous allons afficher le numéro de la semaine il faut faire dans une cellule A1 =NO.SEMAINE(AUJOURDHUI()). puis pour nous allons placer dans la cellule la cellule A2 le numéro de commande donc disons 1 et puis nous allons assembler le tout dans la cellule A3 =”S”&A1&”-“&A2
      dans la cellule B1 placer le numéro de la semaine exemple 30
      désormais nous allons devoir placer dans le code du bouton une condition

      Private Sub CommandButton1_Click()
      If Range(“A1”) = Range(“b1”) Then
      Range(“D1”) = Range(“a3”)
      Range(“a2”) = Range(“a2”) + 1

      Else
      Range(“b1”) = Range(“a1”)
      Range(“A2”) = 1
      Range(“D1”) = Range(“A3”)

      End If

      End Sub

  22. Bonjour, j’ai quelques petits souci avec mes zones de liste deroulante.

    Combobox1
    Cbx_fournisseur
    Rowsource Fournisseur
    Combobox2
    Cbx_article
    Rowsource article

    je n’arrive pas a affecte le rowsource.

    merci beaucoup

    herve

      • oui c’est correct, le systeme ne voulait pas que je passe par les propriete du controle. Donc je suis passe par du VBA et c’est ok maintenant. Je profite egalement pour vous dire qu’il n’y a pas de video pour ce troisieme chapitre , ce qui est un peu compliquer pour faire ce chapitre. Es-ce possible de me faire parvenir le fichier source que je comprendre le fonctionnement. Merci par avance. hboisteau@hotmail.com

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.