Autres formules textbox

sabagof

XLDnaute Junior
Bonjour/Bonsoir à tous,
En tant qu'un bon débutant qui cherche à avancer, je vous remercie à l'avance de votre aide précieuse qui m'a toujours sorti d'affaire.....
Ma préoccupation de l'heure : J'ai une application de gestion de stock (ci-joint fichier). J'essai de me servir de ma base de données "basearticle" pour calculer la quantité de matière première entrant dans la composition d'un produit fini.
Sur mon userform "FABRICATION" j'ai réussi à ma manière à afficher à chaque changement de produit à fabriquer : les quantités en stock pour chaque constituant, la quantité nécessaire pour 1000.000 de comprimés. Maintenant je veux calculer automatiquement à chaque changement de la quantité à fabriquer, les quantités nécessaires. Mon problème c'est d'abord de formater tous les textbox en nombre, de mettre la formule de calcul dans chaque textbox et pour finir indiquer si le stock est suffisant ou non.

C'est tant mieux si je me suis fait comprendre..... Je demande votre indulgence .... Mes codes d'essais sont dans le fichier joint...
 

Pièces jointes

  • GESTION STOCK_aide.xlsm
    857.2 KB · Affichages: 21

sabagof

XLDnaute Junior
Vous n'avez encore rien compris au principe je vois.
Mettez des ComboBox pour le numéro d'article et pour la réf/lot interne dans un seul UserForm de consultation et mise à ajour. Comme ça vous ne risquerez pas de les créer en double car "Modifier" sera automatiquement proposé en CBnValider.Caption au lieu de "Ajouter"
Typiquement les procédures de mise à jour du tableu s'écrivent comme ça :
VB:
Private Sub CBnEntrée_Click()
   CAs.ValeursVers TVL
   If LCou = 0 Then
      CLs.ValeursVers TVL
      CLs.Lignes.Add.Range.Value = TVL
      CLs.Actualiser
   Else: CLs.Lignes(LCou).Range.Value = TVL: End If
   End Sub
Private Sub CBnSuppr_Click()
   If MsgBox("Êtes vous sûr de vouloir supprimer ça définitvement ?", vbYesNo + vbExclamation _
      + vbDefaultButton2, Me.Caption) = vbNo Then Exit Sub
   CLs.Lignes(LCou).Delete
   CLs.Actualiser
   End Sub
Private Sub CBnEchap_Click(): If CLs.ChangéÀLEchap Then Exit Sub
   Select Case CBnEchap.Caption
      Case "Effacer": CLs.Nettoyer: CBnEchap.Caption = "Quitter"
      Case Else: Unload Me: End Select
   End Sub
Plus besoin de s'occuper des détails c'est fait automatiquement parce que la correspondance entre les contrôles et les numéros de colonnes du tableau est établie une fois pour toutes au départ dans la Sub UserForm_Initialize.
Merci de voir encore de plus près ma question.
Au fait la réf/lot interne est une entrée du clavier par l'opérateur. Cette entrée doit être contrôlé pour ne pas être double. (d'où un textbox).
 

Dranreb

XLDnaute Barbatruc
Mais une ComboBox est faite pour ça, pas pour se précipiter aveuglément sur le bouton flèche pour y retrouver quelque chose d'existant. D'ailleurs ce bouton flèche peut être rendu invisible par la propriété ShowDropButtonWhen de la ComboBox. Le ComboBoxLiées la met même à 0 si la liste est trop longue, c'est à dire si sont nombre de lignes est supérieur à la valeur de la propriété ListRows de la ComboBox et si on n'a pas affecté à CLs.LMaxDropBtn une valeur supérieure. C'est fait exprès justement pour inciter les utilisateurs à y taper ce qu'ils veulent et non utiliser ce bouton. Son usage doit rester exceptionnel, quand on ne sait plus bien quoi taper d'autre d'existant ou qu'on a la flemme de taper le reste quand l'assumé commençant par le début tapé n'est pas celui qu'on voulait.
 
Dernière édition:

sabagof

XLDnaute Junior
Mais une ComboBox est faite pour ça, pas pour se précipiter aveuglément sur le bouton flèche pour y retrouver quelque chose d'existant. D'ailleurs ce bouton flèche peut être rendu invisible par la propriété ShowDropButtonWhen de la ComboBox. Le ComboBoxLiées la met même à 0 si la liste est trop longue, c'est à dire si sont nombre de lignes est supérieur à la valeur de la propriété ListRows de la ComboBox et si on n'a pas affecté à CLs.LMaxDropBtn une valeur supérieure. C'est fait exprès justement pour inciter les utilisateurs à y taper ce qu'ils veulent et non utiliser ce bouton. Son usage doit rester exceptionnel, quand on ne sait plus bien quoi taper d'autre d'existant ou qu'on a la flemme de taper le reste quand l'assumé commençant par le début tapé n'est pas celui qu'on voulait.
Voilà qui est clair dès à présent......
 

Statistiques des forums

Discussions
292 869
Messages
1 926 874
Membres
183 295
dernier inscrit
nikodème