Liste de pièce combo cascade et listbox

Matthewfenson

XLDnaute Nouveau
Bonjour à toutes et à tous, bonjour le forum...
Je suis en train de créer un petit programme pour pouvoir gérer le stock des pièces....
Je ne suis pas loin de la vérité mais je bloque sur 3 petites choses (petites: du moins c'est ce que je crois).

En premier temps, j'ai un userform avec 3 combos: Ligne, Machine et Désignation. et une listbox.
Les combos sont en cascade... Je souhaiterai en fait que ce qui apparait dans la combo Désignation apparraisse directement dans la listbox... Je veux donc avoir : Ligne, Machine et Listbox pour la désignation.
J'ai fait un fichier très simple vous allez vite comprendre...

En second temps, dans un autre userform: Avec nos 3 fameuses combos, je souhaiterai faire apparaitre le nombre en stock de la pièce que l'on sélectionne dans la combo Désignation, suite à cela je souhaite egalement que lorsque l'utilisateur marque un autre stock dans "Nouveau stock", que ca remplace le nouveau stock dans la base de données (Accueil).... Merci de votre aide, voici le fichier simplifié:
 

Pièces jointes

  • Pièce.xls
    73 KB · Affichages: 74
  • Pièce.xls
    73 KB · Affichages: 79
  • Pièce.xls
    73 KB · Affichages: 80

Matthewfenson

XLDnaute Nouveau
Re : Liste de pièce combo cascade et listbox

Bonjour à toutes et à tous,

Salut Dranreb, ok pour ton format de fichier. tu es persuadé que ce n'est pas un texbox qu'il faut mais un combo... Bah, je ne sais pas j'ai vu d'autre fichier j'ai trouvé le texbox pas mal... :)
Bon je viens de voir ton fichier: pas la couleur qui change dans les combos B)
Pour ce qui est du résultat dans la liste par rapport aux combo ou du textbox pourquoi pas les 2 comme tu as fait.. ca va franc bien comme ça par contre, c'est pas comme ça que je le voyait pour le tri de la listbox...
Je m'explique:
Actuellement dans ce que tu as fait, lorsque l'on tape 0 dans la textbox, dans la listbox s'affiche 1 seule référence, or, je souhaite voir toutes les réf commençant par 0, et plus tu en rentre plus le nombre de choix diminue...

J'espère que tu comprends ce que je veux dire. je veux que le collègue quand il arrive sur le userform avec sa réf a la main, qu'il puisse simplement tapé le début de la réf, et il lui restera qu'a cliquer sur la ref parmi les quelques choix qu'il lui reste apres le tri de la liste. bref, si tu ne comprends pas tout dis le moi je te trouverai un exemple..
Sinon, pour de ce qui de l'autre userform, ba il me plait comme ça... je l'ai pensé comme ca, le mettre en un userform ba pourquoi pas maintenant que tu me le dis... bref merci de tout aide j'attend de tes news bon weekend!!
 

Dranreb

XLDnaute Barbatruc
Re : Liste de pièce combo cascade et listbox

Bonsoir.
Effectivement je n'avais pas compris le principe souhaité dans le champ Référence. Cependant, c'est bien actuellement un ComboBox, même si le bouton d'affichage de la liste a été enlevé. On pourrait aussi le remettre, mais s'arranger pour que les références y soient présentées en ordre alpha. Ainsi toutes celles commençant de la même façon tapée se retrouveraient ensemble dans sa liste. Il ne resterait plus qu'à l'y sélectionner si on le souhaite plutôt que de continuer à la taper. Peut on estimer que la fonctionnalité souhaitée serait alors atteinte ?

P.S. Mais j'ai regardé un peu, ça ne compliquerait pas beaucoup de faire comme demandé, et un TextBox serait alors en effet plus indiqué. Sauf que ça laisse pour l'instant un léger flou en se qui concerne les interactions du dispositif avec les ComboBox. Tu les vois plutôt combinés (on limite les référence proposées dans la liste à celles correspondant au choix dans les ComboBox) ou exclusifs (on efface et désactive les ComboBox si le TextBox Référence contient quelque chose) ?

Une autre question qui n'a rien à voir: ne peut on ajouter une colonne dans la base pour les dimensions quand il y en a ?
Parce que d'une part il semble y avoir parfois, loin derrière la désignation, une telle information qui ne figure nulle part ailleurs, et d'autre part, pour l'instant, la 2ième colonne de la ListBox (d'indice de colonne 1 comme je l'ai déjà expliqué au #10) n'est pas utilisée.
À +
 
Dernière édition:

Fo_rum

XLDnaute Accro
Re : Liste de pièce combo cascade et listbox

Bonjour,

un exemple pour le contrôle "Textbox". J'ai cru comprendre que tu ne voulais pas la liste des lignes donc je l'ai enlevée. Quand tu as peu de choix, tu peux encore passer par le clic sur le contrôle "ListBox".
 

Pièces jointes

  • StocksUsf.xls
    73.5 KB · Affichages: 41

Matthewfenson

XLDnaute Nouveau
Re : Liste de pièce combo cascade et listbox

Bonjour à toutes et à tous
Bonjour Dranreb,
Pour mettre la combo c'est comme tu le sens, mais ce qui m'embête avec le combo cest que du coup tu peut faire directement apparaitre les références par rapport à ce que tu tape de dedans, du coup la listbox fera grossomodo la meme chose sauf qu'elle sortira la ligne complète de la pièce en question. Je pense que c'est deux manières de recherche indépendante. D'un côté si on a pas la référence en main, on utilisera les combos pour faire un tri et cherché une désignation correspondante. Ou alors, nous avons une référence en main et dans ce cas la on rentre directement la réf dans la textbox actuelle pour nous indiquer :
1- soit si elle existe, de mettre la ligne de la ref trouvée
2- soit si elle n'existe pas la listebox reste vide
Je pense donc que ces 2 méthodes doivent etre exclusif.
Une fois la sélection de la pièce cherchée, en effet, on peut estimer la fonctionnalité atteinte.

En ce qui concerne la colonne supllémentaire, je préfère laisser comme ça, car derrière petite version simplifiée se cache un fichier qui fait + de 5mo... vec d'autres userforms, hist,....
Donc je préfère laisser comme ça.

A+ et encore merci de ton aide.
 

Dranreb

XLDnaute Barbatruc
Re : Liste de pièce combo cascade et listbox

Bonjour.
Oui je bossais dessus quand j'ai regardé s'il y avait un nouveau message.
Je te l'envoie comme il est. Ce n'est pas fini.
J'ai opté pour un dispo comme demandé; il permettra même en commençant par un "*" de spécifier les référence contenant quelque chose (et non seulement commençant par).
Les Cbx Ligne et Machine s'appelaient comme ça, je n'aurais pas été contre le principe, mais d'autres contrôles avaient gardé un nom muet comme ListBox1 et autre CommandButton1. J'ai tout normalisé à ma façon: un préfixe de nature de 3 lettres suivi d'un mnémonique donc:
CbxLigne: l'ancien Combobox Ligne,
LbxExtraitBase: l'ancien ListBox1
BtnQuitter: l'ancien CommandButton1
FrmMvt: Le Frame2 récupéré de UsF2 etc.

Sauf commentaire stop de ta part, je vais maintenant renommer le module "Feuil1 (Accueil)" en "FAccueil (Accueil)" ajouter un module et feuille "FHisto (Historique)" et programmer les boutons BtnAjouter et BtnRetirer.
À +
 

Pièces jointes

  • Pièces2.xls
    216.5 KB · Affichages: 40
  • Pièces2.xls
    216.5 KB · Affichages: 48
  • Pièces2.xls
    216.5 KB · Affichages: 39
Dernière édition:

Matthewfenson

XLDnaute Nouveau
Re : Liste de pièce combo cascade et listbox

Salut Dranreb, ok bon ce que tu as fait ça me va. Ce n'est pas la peine que tu ailles + loin, car j'ai dejà mis les changement de pièces dans mon programme. Je vais essayer d'incorporer ta base dans mon programme... ce ne va pas etre simple je pense... et je ne sais si il y a des manip à faire... bref je verrai bien. Merci de ton aide je ne vais pas te laisser tout faire non plus :)...
Le seul truc qui me tarabuste encore c'est dans l'autre userform sur les mouvements des pièces...

Je m'adresse donc à Fo_rum,

Lorsque je clique sur le bouton entrée ou sortir, actuellement ça modifie le nombre en stock et je souhaite également que ca mette a jour le dernier remplacement de pièce. Ca ne doit pas etre compliqué... de faire un copier de la cellule K48 (=Maintenant()), et de faire un coller valeur à l'emplacement prévu par rapport à la pièce changée???
Merci de votre aide.
Et merci à ton super répertoire Dranreb.
 

Dranreb

XLDnaute Barbatruc
Re : Liste de pièce combo cascade et listbox

Le seul truc qui me tarabuste encore c'est dans l'autre userform sur les mouvements des pièces...
Je les ai intégré au premier. Il reste très peu de chose à faire: le numéro de ligne à modifier dans Casc.PlgTablo sera directement dans LCou, il suffira d'incrémenter ou décrémenter la quantité en stock selon le bouton. Je peux encore écrire au moins ça, même si je m’abstiens de mon coté d'empiler aussi ce mouvement dans un historique.

Voilà c'est écrit:
VB:
Private Sub BtnAjouter_Click()
Casc.PlgTablo(LCou, 6).Value = Casc.PlgTablo(LCou, 6).Value + QtéMvt
Casc.PlgTablo(LCou, 9).Value = Now
Casc_Bingo TLgn
End Sub
'

Private Sub BtnRetirer_Click()
Casc.PlgTablo(LCou, 6).Value = Casc.PlgTablo(LCou, 6).Value - QtéMvt
Casc.PlgTablo(LCou, 9).Value = Now
Casc_Bingo TLgn
End Sub
 
Dernière édition:

Fo_rum

XLDnaute Accro
Re : Liste de pièce combo cascade et listbox

Re,

Je m'adresse donc à Fo_rum,
Lorsque je clique sur le bouton entrée ou sortir, actuellement ça modifie le nombre en stock et je souhaite également que ca mette a jour le dernier remplacement de pièce. Ca ne doit pas etre compliqué... de faire un copier de la cellule K48 (=Maintenant()), et de faire un coller valeur à l'emplacement prévu par rapport à la pièce changée???

Je ne touche pas à la cellule K48. Pour la date, je l'avais prévu et fait avec cette ligne :

Code:
Cells(L, 9) = Format(Date, "dd/mm/yyyy h:mm;@")
 

Matthewfenson

XLDnaute Nouveau
Re : Liste de pièce combo cascade et listbox

Re

Pourtant, quand on sort une pièce, où est affiché la date de la sortie de la pièce...??
peut on faire apparaitre cette date dans le répertoire???
Et Fo_rum je n'arrive pas à créer un historique sur une autre feuille avec ton code je ne sais pas comment le faire.
Moi sur d'autres programme que j'avais fait, je prenais cette méthode:

With Sheets("Accueil")
.Range("B5").Value = Ligne.Value
.Range("C5").Value = Machine.Value
.Range("D5").Value = SousEnsemble.Value
.Range("E5").Value = Initiales.Value
.Range("F5").Value = Durée.Value
.Range("J5").Value = Commentaires.Value
.Range("K5").Value = Références.Value
End With

Mais la je ne sais pas comment m'y prendre.

Sinon je prends ton le travail de Dranreb... dites moi.
 

Matthewfenson

XLDnaute Nouveau
Re : Liste de pièce combo cascade et listbox

Bonjour à toutes et à tous,

Ok pour la date, en fait j'ai copié ton code :

Cells(L, 9) = Format(Date, "dd/mm/yyyy h:mm;@")

Dans les boutons de sortie et entrée des pièces, car il n'y était pas. ça marche nikel
Il ne me reste qu'a envoyé les infos dans la feuill2 pour l'historique et ce sera bon!
A+
 

Dranreb

XLDnaute Barbatruc
Re : Liste de pièce combo cascade et listbox

Pour information: cette instruction envoie dans la cellule une chaîne représentant la date et l'heure, et non pas une date + heure.
Pour y envoyer la même information que la valeur de votre cellule K48, il faut simplement y affecter Now.
Cette procédure, par exemple, affiche d'abord "String", ensuite "Date":
VB:
Sub ezssai()
Cells(4, 9) = Format(Date, "dd/mm/yyyy h:mm;@")
MsgBox TypeName(Cells(4, 9).Value)
Cells(4, 9) = Now
MsgBox TypeName(Cells(4, 9).Value)
End Sub
À +
 
Dernière édition:

Matthewfenson

XLDnaute Nouveau
Re : Liste de pièce combo cascade et listbox

Salut a tous... Salut Dranreb,
bon jai un petit souci ac le repertoire. J ai voulu l'inserer dans mon vrai programme et j ai tout copier... Modules. Modules de classe.... Etc
lorsque je lance mon usf, il y un probleme au niveau du dicbx dans le module de classe combomembre ca me surligne dicCBx je ne conpren pas dou peut venir le probleme car jai tout copier comme il fallait...
Tu as une solution chef???.
 

Dranreb

XLDnaute Barbatruc
Re : Liste de pièce combo cascade et listbox

Bonsoir.
Si c'est le type de donnée Dictionary qui n'est pas reconnu, c'est parce qu'il manque au projet la référence "Microsoft Scripting Runtime".
Allez dans VBA dans Outils, Références et cochez la.
J'aurais peut être dû mettre le même commentaire qu'en tête du module MDictionnArbo.
À +
 

Matthewfenson

XLDnaute Nouveau
Re : Liste de pièce combo cascade et listbox

Bonjour à toutes e à tous,
Salut Dranreb,
Ok j'ai coché la case ça marche nickel.

Bon, comment doit-je m'y prendre pour l'historique, je n'ai pas eu de nouvelle de Fo_rum, et je ne connais que :

With Sheets("Hist")
.Range("A50").Value = Ligne.Value
End With

Mais la je ne peut pas le faire, du moins je devrai arriver à mettre Ligne, machine mais comment puis-je transmettre la référence sélectionnée et non l'ensemble de la listbox...
Merci à vous pour votre aide.
 

Dranreb

XLDnaute Barbatruc
Re : Liste de pièce combo cascade et listbox

Bonjour.
La référence sélectionnée, c'est la ligne LCou de la plage Casc.PlgTablo.
Vous pouvez y puiser toutes les cellules que vous voulez reproduire dans l'historique par la même syntaxe d'expression que dans les deux instructions qui corrigent la quantité en stock et la date.
Croyez moi, c'est préférable que de repartir des infos rangées dans la ListBox.
À +
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal