gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008
-
19 mars 2008 à 12:20
gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008
-
19 mars 2008 à 20:45
Bonjour à tous,
Voila, j'ai créer un fichier Excel - Visual Basic de gestion des stocks outils ( Pour tous ce qui concerne les outils coupants de toutes sortes de tous diametre....etc)
Tout fonction à partir de userform(multipage, combobox, checkbox, textbox...etc)
Mais voila, par exemple pour les tarauds metriques fins ou les alésoirs, ils existe enorméments de diametre au centièmes près. j'ai créer tous les tableaux et tous ce qui va avec.
Bien evidemment on ne possede pas tous les diametres.
c'est pour cela que je voudrais améliorer mes combobox pour faciliter la recherche.
Je ne souhaite supprimer des listes des combobox, les lignes qui sont egales à 0 dans les tableaux car sinon je ne pourais plus ajouter ou retirer du stock. Forcement...
Ma question est la suivante:
Mais par contre je souhaiterais si c'est possible que lorsque je déroule ma combobox, si un des diametres est en stock que celui-ci soit en vert par exemple pour le faire ressortir.
Est-ce possible??? Est-ce que quelqu'un peut m'aider???
En esperant avoir été assez clair.
Merci a tous
Exemple de code pour une combobox:
Dim Mes_Diametres_Alesoirs As String
Dim Col22 As Integer
Dim Lig22 As Integer
Col22 = 4
For Lig22 = 14 To 160
Mes_Diametres_Alesoirs = Sheets("Alésoirs").Cells(Lig22, Col22).Value
Fenetre_de_Selection_Outils.ComboBox_Diametres_Alesoirs.AddItem Mes_Diametres_Alesoirs
Next Lig22
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 19 mars 2008 à 14:43
Salut,
il nous manque 2 choses :
1/ le code qui te permet de remplire ta combobox
2/ comment sais tu qu'un outil n'est pas en stock ? je suppose que tu dois avoir une colonne "Quantité" quelle est cette colonne ?
gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008 19 mars 2008 à 16:06
Ca risque d'être compliqué à expliquer ( Dommage qu'on ne puisse inserer des images)
Par exemple pour les tarauds metrique fins:
J'ai une feuille excel:
6 tableaux les uns en dessous des autres identiques en dimensions - Droite HSS Non Revetu
- Gauche HSS Non Revetu
- Droite HSS Revetu
- Gauche HSS Revetu
- Droite HSS Carbure
- Gauche HSS Carbure
Composé de 73 lignes (correspondant aux diametres) - 2X0.25 à 20X2
Composé de 4 Colonnes (Correspondant aux genres de tarauds) - GUN
- HELICOIDAL
- HELICOIL
- A REFOULER
Pour l'interface Utilisateur: J'ai une page dans ma multipage avec:
3 CheckBox (HSS Non Revetu - HSS Revetu - Carbure)
1 Combobox (Listes Diametres)
1 Combobox (GUN - HELICOIDAL - HELICOIL - A REFOULER)
2 CheckBox (Pas à droite - Pas à Gauche)
1 TextBox (Quantité à Ajouter ou Retirer)
1 Bouton "?" qui me revoie la quantité restante en stock en MsgBox selon criteres selectionnés
1 Bouton "Ajouter" qui m'incremente la bonne case du bon tableau selon critère
1 Bouton "Retirer" qui......
VOILA......J'ai le meme procedé ou presque pour les autres pas de tarauds, les forets, les forets a centrer, les alésoirs, les fraises, les plaquettes...etc
Ci dessous le code:
Attention ne pas avoir peur, j'ai eu des suggestion pour alléger tous cela, je vais m'y mettre....
Private Sub ajouter_Tarauds_Met_Fins_click()
If CheckBox_Tarauds_Met_Fins_Non_Revetu.Value True And CheckBox_Pas_Met_Fins_Dr.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 14, ComboBox_Types_Fins.ListIndex + 7).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 14, ComboBox_Types_Fins.ListIndex + 7).Value + TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RENTRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Non_Revetu.Value True And CheckBox_Pas_Met_Ga.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 60, ComboBox_Types_Fins.ListIndex + 7).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 60, ComboBox_Types_Fins.ListIndex + 7).Value + TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RENTRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Revetu.Value True And CheckBox_Pas_Met_Dr.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 106, ComboBox_Types_Fins.ListIndex + 7).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 106, ComboBox_Types_Fins.ListIndex + 7).Value + TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RENTRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Revetu.Value True And CheckBox_Pas_Met_Ga.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 152, ComboBox_Types_Fins.ListIndex + 7).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 152, ComboBox_Types_Fins.ListIndex + 7).Value + TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RENTRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Carbure.Value True And CheckBox_Pas_Met_Dr.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 198, ComboBox_Types_Fins.ListIndex + 7).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 198, ComboBox_Types_Fins.ListIndex + 7).Value + TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RENTRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Carbure.Value True And CheckBox_Pas_Met_Ga.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 244, ComboBox_Types_Fins.ListIndex + 7).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 244, ComboBox_Types_Fins.ListIndex + 7).Value + TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RENTRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End If
If CheckBox_Tarauds_Met_Fins_Non_Revetu.Value False And CheckBox_Tarauds_Met_Fins_Revetu.Value False And CheckBox_Tarauds_Met_Fins_Carbure.Value = False Then
MsgBox "Vous devez spécifier obligatoirement un type de Taraud", vbCritical
End IfIf CheckBox_Pas_Met_Fins_Dr.Value False And CheckBox_Pas_Met_Fins_Ga.Value False Then
MsgBox "Vous devez spécifier obligatoirement le pas"
End IfIf CheckBox_Pas_Met_Fins_Dr.Value True And CheckBox_Pas_Met_Fins_Ga.Value True Then
MsgBox "IMPOSSIBLE"
End If
If CheckBox_Tarauds_Met_Fins_Non_Revetu.Value True And CheckBox_Pas_Met_Fins_Dr.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 14, ComboBox_Types_Fins.ListIndex + 6).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 14, ComboBox_Types_Fins.ListIndex + 6).Value - TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RETIRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Non_Revetu.Value True And CheckBox_Pas_Met_Ga.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 96, ComboBox_Types_Fins.ListIndex + 6).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 96, ComboBox_Types_Fins.ListIndex + 6).Value - TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RETIRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Revetu.Value True And CheckBox_Pas_Met_Dr.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 178, ComboBox_Types_Fins.ListIndex + 6).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 178, ComboBox_Types_Fins.ListIndex + 6).Value - TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez dd'en RETIRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Revetu.Value True And CheckBox_Pas_Met_Ga.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 260, ComboBox_Types_Fins.ListIndex + 6).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 260, ComboBox_Types_Fins.ListIndex + 6).Value - TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RETIRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Carbure.Value True And CheckBox_Pas_Met_Dr.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 342, ComboBox_Types_Fins.ListIndex + 6).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 342, ComboBox_Types_Fins.ListIndex + 6).Value - TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RETIRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End IfIf CheckBox_Tarauds_Met_Fins_Carbure.Value True And CheckBox_Pas_Met_Ga.Value True Then
Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 424, ComboBox_Types_Fins.ListIndex + 6).Value = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 424, ComboBox_Types_Fins.ListIndex + 6).Value - TextBox_Quantite_Met_Fins.Value
MsgBox "Vous venez d'en RETIRER " & TextBox_Quantite_Met_Fins.Value, vbExclamation, "Gestion Stock Outils"
End If
If CheckBox_Tarauds_Met_Fins_Non_Revetu.Value False And CheckBox_Tarauds_Met_Fins_Revetu.Value False And CheckBox_Tarauds_Met_Fins_Carbure.Value = False Then
MsgBox "Vous devez spécifier obligatoirement un type de Taraud", vbCritical
End IfIf CheckBox_Pas_Met_Fins_Dr.Value False And CheckBox_Pas_Met_Fins_Ga.Value False Then
MsgBox "Vous devez spécifier obligatoirement le pas"
End IfIf CheckBox_Pas_Met_Fins_Dr.Value True And CheckBox_Pas_Met_Fins_Ga.Value True Then
MsgBox "IMPOSSIBLE"
End If
If CheckBox_Tarauds_Met_Fins_Non_Revetu.Value True And CheckBox_Pas_Met_Fins_Dr.Value True Then
MsgBox " Il Reste " & Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 14, ComboBox_Types_Fins.ListIndex + 6).Value & " Tarauds Metriques Fins Droite HSS Non Revetu de ce Diametre et de ce type ", vbInformation, "Quantité Restante...."
End IfIf CheckBox_Tarauds_Met_Fins_Non_Revetu.Value True And CheckBox_Pas_Met_Fins_Ga.Value True Then
MsgBox " Il Reste " & Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 96, ComboBox_Types_Fins.ListIndex + 6).Value & " Tarauds Metriques Fins Gauche HSS Non Revetu de ce Diametre et de ce type ", vbInformation, "Quantité Restante...."
End IfIf CheckBox_Tarauds_Met_Fins_Revetu.Value True And CheckBox_Pas_Met_Fins_Dr.Value True Then
MsgBox " Il Reste " & Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 178, ComboBox_Types_Fins.ListIndex + 6).Value & " Tarauds Metriques Fins Droite HSS Revetu de ce Diametre et de ce type ", vbInformation, "Quantité Restante...."
End IfIf CheckBox_Tarauds_Met_Fins_Revetu.Value True And CheckBox_Pas_Met_Fins_Ga.Value True Then
MsgBox " Il Reste " & Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 260, ComboBox_Types_Fins.ListIndex + 6).Value & " Tarauds Metriques Fins Gauche HSS Revetu de ce Diametre et de ce type ", vbInformation, "Quantité Restante...."
End IfIf CheckBox_Tarauds_Met_Fins_Carbure.Value True And CheckBox_Pas_Met_Fins_Dr.Value True Then
MsgBox " Il Reste " & Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 342, ComboBox_Types_Fins.ListIndex + 6).Value & " Tarauds Metriques Fins Droite Carbure de de ce Diametre et de ce type ", vbInformation, "Quantité Restante...."
End IfIf CheckBox_Tarauds_Met_Fins_Carbure.Value True And CheckBox_Pas_Met_Fins_Ga.Value True Then
MsgBox " Il Reste " & Sheets("Tarauds Metriques Fins Dr-Ga").Cells(ComboBox_Diametres_Nom_Fins.ListIndex + 424, ComboBox_Types_Fins.ListIndex + 6).Value & " Tarauds Metriques Fins Gauche Carbure de de ce Diametre et de ce type ", vbInformation, "Quantité Restante...."
End If
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 19 mars 2008 à 18:54
...
tu vas me trouver chi..t mais il est ou le code qui te permet de remplire ta combobox ?
Par ce que la je vois rien qui la remplis cette combo. De plus indente ton code il est tres difficile a lire comme ca.
gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008 19 mars 2008 à 20:45
Pour les tarauds metriques fins, c'est le code suivant qui remplit les combobox...:
La première combobox, c'est à dire les lignes du tableau sont remplis par :
Dim Mes_Diametres_Nom_Fins As String
Dim Col5 As Integer
Dim Lig5 As Integer
Col5 = 5 For Lig5 14 To 87 > lignes du tableau
Mes_Diametres_Nom_Fins = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(Lig5, Col5).Value
Fenetre_de_Selection_Outils.ComboBox_Diametres_Nom_Fins.AddItem Mes_Diametres_Nom_Fins
Next Lig5
La seconde combobox, c'est à dire les colonnes du tableau sont remplis par :
Dim Mes_Types_Fins As String
Dim Col6 As Integer
Dim Lig6 As Integer
Lig6 = 13 For Col6 6 To 9 > colonnes du tableaux
Mes_Types_Fins = Sheets("Tarauds Metriques Fins Dr-Ga").Cells(Lig6, Col6).Value
Fenetre_de_Selection_Outils.ComboBox_Types_Fins.AddItem Mes_Types_Fins
Next Col6