XL 2019 Fichier à compléter par quelques VBA

Dju1

XLDnaute Occasionnel
Bonjour le forum,
j'ai quelques difficultés pour clôturer un fichier très entamé.

Je vais y aller dans l'ordre:
- J'aimerais que sur mes combobox (ref article, sur le bouton passer commande, par exemple) n'apparaissent que les articles correspondant au fournisseur indiqué sur la combobox précédente.

Une fois que j'aurai le code de celle-ci je pourrais l'adapter aux autres boutons dont j'aurais besoin.

J'aurai par la suite une dernière demande... mais je préfère faire les choses dans l'ordre


Un grand merci d'avance (j'en ai énormément besoin dans mon nouveau travail)
 

Pièces jointes

  • gestion de stock (1) (2).xlsm
    421.5 KB · Affichages: 13

fanch55

XLDnaute Barbatruc
Sachant que j'ai remarqué sur votre dernier fichier la réf article ne s'incrémente pas.
Normal, je n'avais pas corrigé la partie initiale de l'ajout d'article.

Le classeur joint est le dernier que vous avez posté , adapté aux modif proposées .

Pour l'ultime question, je ne comprend pas la cinématique, que voulez-vous bloquer ?
 

Pièces jointes

  • gestion de stock.xlsm
    474.1 KB · Affichages: 8

Dju1

XLDnaute Occasionnel
Merci pour le fichier, il ressemble à ce que je voulais.
Après plusieurs tests j'ai l'impression que le PA M n'évolue pas en fonction de mes entrées en stock.
La feuille PA va m'être très utile pour voir l'évolution du PA.
Pensez-vous qu'il ne serait pas plus judicieux de faire une colonne supplémentaire (avec la date en en-tête) à chaque fois que le PA évolue (si possible uniquement quand le montant est différent du précédent) ? puis multiplié ce dernier PA à la dernière quantité entrée en stock pour ensuite l'additionné à la valeur déjà en stock puis la divisé par la quantité totale (OLALALA j'espère que c'est clair)

Pour l'ultime question, je voudrais que la valeur de sortie de stock n'évolue pas avec le PA M mais avec le PA du moment. La colonne supplémentaire (avec la date) sur la feuille PA pourrait peut être avoir son utilité.
Mais ceci n'est pas du tout le plus important.... Vous en avez déjà fait beaucoup.
 

fanch55

XLDnaute Barbatruc
Le Pam dans la table Article est la moyenne des prix enregistrés pour l'article dans la table T_Pa .
Il n'y a aucune corrélation avec le nombre d'articles en stock.

Si vous modifiez le prix unitaire de l'article dans la feuille article,
le prix à la date du jour de la table T_Pa ( dans la feuille Pa ) est également remise à jour sinon elle est ajoutée .

Pour la suite de votre projet, je regarderai cela après les vacances, je profite de tous mes petits enfants .. 😏
 

patricktoulon

XLDnaute Barbatruc
Bonjour a tout les deux
perso j'aimerais que @fanch55 m'explique (si j'ai bien compris)
VB:
Sql_Driver = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
                "DBQ=" & ThisWorkbook.FullName & ";READONLY=FALSE"
pourquoi va t il chercher les données du fichier lui même avec Ado
sachant qu'en ouvrant une requête sur le fichier lui même en lecture on a les données sans les modifs qui ont été faite depuis l'ouverture du dit fichier

c'est quoi le but ça m’intéresse ?
 

fanch55

XLDnaute Barbatruc
Bonjour a tout les deux
perso j'aimerais que @fanch55 m'explique (si j'ai bien compris)
VB:
Sql_Driver = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
                "DBQ=" & ThisWorkbook.FullName & ";READONLY=FALSE"
pourquoi va t il chercher les données du fichier lui même avec Ado
sachant qu'en ouvrant une requête sur le fichier lui même en lecture on a les données sans les modifs qui ont été faite depuis l'ouverture du dit fichier

c'est quoi le but ça m’intéresse ?
Salut @patricktoulon ,
C'est pour pouvoir utiliser les tables comme des bases de données en y accédant via Sql ( en lecture et écriture ) [ pas les delete que ne sait pas faire l'odbc]
 

patricktoulon

XLDnaute Barbatruc
Bonjour
@fanch55
a ok c'est juste une méthode parmi d'autre que tu a choisi
j'ignorais qu'avec Ado on pouvait modifier le fichier lui même ouvert (j'ai toujours eu un beau message d'indisponibilité)c'est d'ailleurs une question qui m'a taraudé (utiliser ado sur le fichier lui même )
il faudra que je réessaie sur 2013 j'avais testé sur 2007

Merci du retour👍
 

patricktoulon

XLDnaute Barbatruc
donc si je comprends bien
ceci enregistre la new line dans le fichier mais (en base de donnée) et sauve le classeur lui meme une secondes fois avec le save c'est bien ca ?
VB:
Private Sub Btn_Ajout_Click()
If Me.txt_nom <> "" And Me.txt_description <> "" And Me.txt_prix <> "" And Me.txt_mini <> "" Then
   If Update_Fields( _
        "Insert into " & Get_Table([T_Article]) & _
        " (`Ref article`,Nom,Fournisseur,description,`Prix unitaire`,`mini`,Status) " & _
        " values ( '" & Me.Label_info.Caption & "'" & _
                 ",'" & Me.txt_nom & "'" & _
                 ",'" & Me.Cbx_fournisseur1 & "'" & _
                 ",'" & Me.txt_description & "'" & _
                 ",'" & CCur(Me.txt_prix) & "'" & _
                 ",'" & Me.txt_mini & "'" & _
                 ",'Active'" & _
                 ")") Then
        Worksheets("Config").[D19] = Worksheets("Config").[D19] + 1
        ThisWorkbook.Save
        Unload Me
    Else
        MsgBox Err.Description
    End If
End If
End Sub
ou alors j'ai rien pigé
si j'ai bien pigé par contre
pourquoi pas par requête (aussi) modifier config.[D19]
et reloader le tableau avec la même requête
on se passerait du save du classeur qui en l’état n'a pas la new line dans T_Article du moins me semble t il
a moins que cela se face en interne
en tout cas bravo c'est un bel exercice de style ;)
 

fanch55

XLDnaute Barbatruc
Pour l'ultime question, je voudrais que la valeur de sortie de stock n'évolue pas avec le PA M mais avec le PA du moment. La colonne supplémentaire (avec la date) sur la feuille PA pourrait peut être avoir son utilité.
Voir classeur joint, une colonne Pu a été rajoutée à la table t_mouvement, la formule en colonne Valeur a été adaptée .

Pensez-vous qu'il ne serait pas plus judicieux de faire une colonne supplémentaire (avec la date en en-tête) à chaque fois que le PA évolue (si possible uniquement quand le montant est différent du précédent) ? puis multiplié ce dernier PA à la dernière quantité entrée en stock pour ensuite l'additionné à la valeur déjà en stock puis la divisé par la quantité totale (OLALALA j'espère que c'est clair)
🤔 je n'ai pas franchement compris ....
 

Pièces jointes

  • gestion de stock.xlsm
    484.4 KB · Affichages: 4

patricktoulon

XLDnaute Barbatruc
ok que je comprenne bien
donc avec la requête update tu enregistre le classeur avec les new données
si je le referme et que le le ré ouvre j'ai le classeur a jour

c'est ca ?
et c'est quoi l'avantage d'une telle stratégie de méthode
vachement intéressant ton truc ;)
je vous laisse finir ce projet pour ne pas en perturber la bonne marche
je reviendrais poser mes questions après résolu
 

patricktoulon

XLDnaute Barbatruc
re

Le classeur ouvert est mis à jour immédiatement.
Les modifications apportées ne seront définitives qu'après sauvegarde du classeur .
tu veux dire que les données sont dans le tableau à l'ecran avec la requete??? et qu'il faut donc sauver les inscriptions (qui ont été faites avec Ado) avec un save ?
??????????????:oops:🤔
heu..... je reviendrais après que vous aillez fini , je veux pas perturber la bonne marche de ce fil
 

Dju1

XLDnaute Occasionnel
Si vous modifiez le prix unitaire de l'article dans la feuille article,
le prix à la date du jour de la table T_Pa ( dans la feuille Pa ) est également remise à jour sinon elle est ajoutée .
j'ai un doute sur la méthode de calcul du PA M.
J'ai fais le test lorsque je modifie le PU le PAM se modifie aussitôt alors que je n'ai pas fais d'entrée en stock. Hors le PA M sera différent également en fonction de la quantité entrée.
par exemple si j'achète un produit à 10€ et que j'en achète 4 autres à 5€, mon PAM sera de 6€ (1x10€ + 4x5€ = 30€ -----> 30€/5 (qté totale) = 6€ )
La feuille Pa n'a peut être plus d'utilité?!
Je pense utilisé la feuille Commande dans laquelle les PA sont uniques mais est-il possible de faire une moyenne en associant rechercheV ?

Je vais essayer et je vous tiens au courant, si vous avez une autre idée je suis preneur
 

fanch55

XLDnaute Barbatruc
Classeur modifié pour afficher les éléments du pam calculé quand on clique sur le pam d'un article
1635855308328.png

1635855363616.png
 

Pièces jointes

  • gestion de stock.xlsm
    473.2 KB · Affichages: 3

fanch55

XLDnaute Barbatruc
J'ai fais le test lorsque je modifie le PU le PAM se modifie aussitôt alors que je n'ai pas fais d'entrée en stock. Hors le PA M sera différent également en fonction de la quantité entrée.
Je pense qu'on ne parle pas de la même chose, le PAM que j'affiche c'est le PAM d'un article au fur et à mesure que son prix change .
Celui que semble vous intéresser c'est celui des mouvements en entrée pour un article.
Je vais y réfléchir ...
 

Discussions similaires

Réponses
0
Affichages
810

Statistiques des forums

Discussions
311 731
Messages
2 081 993
Membres
101 856
dernier inscrit
Marina40