Microsoft 365 Besoin d'aide pour optimiser un code(boucle pour combobox et textbox)

lalimace

XLDnaute Nouveau
Bonjour à tous,
Avant toutes choses je tenais à remercier les personnes qui interviennent sur ce forum qui est une mine d'or pour un débutant comme moi.

Je travail depuis quelques jours sur un fichier de gestion de stock pour une association.
J'ai essayé de le simplifier (en vain) en utilisant des boucles pour mes combobox mais je n'y arrive pas car elles n'ont pas le même nom.
Dans les faits le fichier fonctionne mais le code est "très lourd" et vraiment pas optimisé dû à ma faible connaissance en VBA.
Sur mon ordinateur aucun problème mais ceux que possède l'association ne sont pas très récent j'ai donc peur d'un temps d'attente excessive lors des ajouts.

Je m'aide d'un userform pour ajouter chaque entrée et sortie de stock dans un tableau sur une feuille excel.
Il y'a une cinquantaine de combobox et une centaine de textbox, les textbox se remplissent automatiquement en fonction du choix dans les combobox.
Un onglet miroir est présent pour incrémenter la date, le type de mouvement et le fournisseur dans chaque ligne à chaque fois qu'une combobox est remplie.
Pour ajouter une ligne dans le tableau, la macro va chercher chaque contrôle non vide de 1 à 8 en fonction de leurs noms.

Mes questions sont les suivantes :
- Comment utiliser des boucles pour simplifier mon code qui est très répétitif ?
- Est-il possible d'alimenter les combobox références en fonction du combobox fournisseur via la feuille stock (exemple : si dans fournisseur je sélectionne "don", les combobox n'afficheront que les références du stock qui ont pour fournisseur "don") ?


Je ne sais pas si j'ai réussi à être clair dans mes explications mais normalement avec la PJ vous devriez être en mesure de saisir un peu mieux le problème.
Le fichier ci-joint est un fichier modèle commenté de mon userform en beaucoup plus léger.
Je vous remercie d'avance pour le temps que vous passerez sur ces problématique et continue de chercher de mon côté en espérant trouver une solution.
 

Pièces jointes

  • modele gestion.xlsm
    49.2 KB · Affichages: 36

JM27

XLDnaute Barbatruc
Bonjour
qu'entends tu par stock initial et stock théorique

Ci joint un exemple de ce que cela peut donner
Donne moi ton avis
Sachant que cela n'est pas encore fonctionnel
Principe:
Soit on entre dans le stock
soit on sort du stock

Si on sélectionne un fournisseur , on a les produits qui lui sont associés
Quand on entre la sélection dans le panier , on rajoute une ligne dans la list box
A la fin de la saisie on transfère le panier dans la feuille mouvement et on met le stock à jour

Donne moi ton avis avant de poursuivre
 

Pièces jointes

  • modele gestion.xlsm
    55 KB · Affichages: 14
Dernière édition:

JM27

XLDnaute Barbatruc
en fait le stock théorique est le stock réel disponible
et le stock initial est le stock à la création de la référence
C'est cela ?

si c'est cela le stock initial ne sert à rien , seul le stocks réel est intéressant
 

lalimace

XLDnaute Nouveau
Tout d'abord merci pour le temps que tu accordes à mon sujet, ton userform est vraiment d'un autre niveau!

Pour la quantité serait-il possible de l'ajouter directement dans le textbox et non via le scroller ?(nous recevons parfois des quantités astronomiques d'aide alimentaire)

En fonction de l'entrée ou de la sortie serait-il possible d'afficher uniquement certaines propositions ? (exemple : quand on fait une entrée seul les fournisseur sont disponible et pour les sorties seul des critères de distribution qui seront renseignés au préalable sur la feuille donc rajouter un combobox en plus peut-être ?)
 
Dernière édition:

lalimace

XLDnaute Nouveau
J'étais justement entrain d'essayer de le comprendre et j'ai plusieurs questions :
-Est-il possible de faire accepter 3 chiffres après la virgule quand on ajoute une entrée et une sortie (exemple: 0.375), il s'affiche dans la listbox mais sur la feuille cela affiche un arrondi

-Pour ajouter les éléments dans le tableau tu as décidé de passer par une listbox que tu alimentes en fonction des données dans les combobox ce qui est vraiment génial pour le coup et beaucoup plus pratique, peux tu m'expliquer la partie de ce code ainsi que celui qui exporte les données vers le tableau ?
 
Dernière édition:

JM27

XLDnaute Barbatruc
bonjour
Pour avoir les chiffres décimal, j'ai changé le clng( entier) par du double (cdbl)( acceptant les chiffres après la virgule)
ci joint correctif et commentaires dans les macros
 

Pièces jointes

  • modele gestion de stocks 1.xlsm
    72.1 KB · Affichages: 8
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour lalimace
Bonjour JM
je n'ai trouvé nulle part dans la feuille "Mouvement" de Colonne ou il est collé des Sommes (Cdbl)
apparemment ce serait la Colonne "H" (entête Quantité) est ce normal ?
Bonne journée
jean marie
 

lalimace

XLDnaute Nouveau
Bonjour à tout les deux,

Encore une fois je me répète mais merci beaucoup JM pour le temps que tu as passé sur mon problème, tu m'as vraiment retiré une grosse épine du pied!
Je vais me pencher sur ton code pour essayer de le comprendre et pourquoi pas en utiliser quelques parcelles pour améliorer certains de mes userform!

Bonne journée à tout les deux 😀😀
 

Discussions similaires

Statistiques des forums

Discussions
312 167
Messages
2 085 894
Membres
103 021
dernier inscrit
Sergyl75