Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Additionner des textboxs en fonction des la valeur des comboboxs associés

drumeiro

XLDnaute Nouveau
Bonjour à tous,

je travail sur un fichier de gestion de stock dans lequel je souhaite additionner des textbox en fonction des combobox associés.
En effet pour les combobox j'ai le choix entre plusieurs produits différents et dans les textbox j'inscris la quantité de ce produit.
Je souhaite avoir un total pour chaque produits dans des textbox dédiés.
J'ai essayer de le faire seule mais je n'arrive pas à trouver une solution.

Vous trouverez en pièce jointe les classeurs Excel dédiés. L'usf est dans le classeur programme stock.

j'ai juste besoin d'un exemple que je transposerai pour les autres produits.
 

Pièces jointes

  • Programme stock.xlsm
    49.7 KB · Affichages: 14
  • Donnees gestion moulin.xlsm
    11.4 KB · Affichages: 7
Solution
Bonsoir
Dans tes fichiers du #13 ca plante à l'ouverture.
Pourquoi s'obstiner à charger des valeurs à l'initialisation des valeurs située dans la feuille données, ca plante ( et pour moi ca sert à rien) du fait que les style des combo box on étés mise à DropDownList (pour éviter de saisir n'importe quoi)
Pourquoi dans l'initialisation des combo mettre "Vide" ???
J'ai revu dans l'init des combo l'ordre des items pour qu'il soient cohérents entre eux
il aurait été bien de préciser les cas particulier des texbox 21 , 22 , 23 et 24
Toutes ces modifs complexifient le programme
Bon ma solution optimisé avec deux modules de classe des textbox et des combo box
et un calcul automatique des sommes farine et semoule.
Un seul fichier avec ses...

ChTi160

XLDnaute Barbatruc
Bonjour drumeiro
Bienvenue sur XLD
Pas evident de comprendre la marche a suivre !
J'ouvre ton Userform et y'a plein de Control Label ,o Cmbobox et TextBox mais que représentent ils
Que faut t'il faire , à partir de Quoi ?
Des exemples seraient les bienvenus ?
à quoi sert le fichier "Données ....."
Tu vois plein de questions Lol
Bonne Journée
Jean marie
 

drumeiro

XLDnaute Nouveau
Bonjour Chti160,

Le fichier données est le fichier ou je récupéré ce qui est rentré dans l'usf quand je valide.
Les control labels de S1 à GM 2 sont des nom de stockage. De S1 à S4 c'est des stockage spéciaux qui n'entrent pas dans ma demande.
Pour les stockage SF1 à SM7, j'ai la possibilité de mettre des produits différents mais à chaque fois un seul type de produit en même temps par stockage.
Du coup les combobox6 à 23 servent à définir le type produit que j'ai dans mon stockage et les textbox juste en dessous (6 à 23) m'indiquent la quantité de produit que j'ai dans chaque stockage.

je cherche à avoir dans les textbox 31 à 41 les sommes des quantité par type de produit.

Exemple:
SF1 --> R0F --> 5T
SF2 --> R3F-->2T
SF3-->ROF-->18T
SF4--> vide
SF5-->R3F-->6T
SF6-->Farine-->23T

Il faut que la textbox 38 correspondant au total des R0F mon calcul me donne 23T, dans la textbox39 correspondant au total des R3F mon calcul me donne 8T,...

Ma problématique étant que pour chaque stockage comme on peut y mettre différents produits, j'ai besoins que la formule du calcul de ces totaux intègre ces variables vu que je pourrait très bien aussi avoir 2T de R3F dans SF1 (tout dépende de la production qui a été faite).
 

JM27

XLDnaute Barbatruc
Bonjour
Elles sont ou les quantités
Dans la feuille Données moulin les Q(T) ne sont pas numériques.
Je souhaite avoir un total pour chaque produits dans des textbox dédiés.
C'est ou dédiés ?
Ou faut t'il les additionner ( dans quelles zone ?)

Pour ce bout de code o peut faire plus simple
VB:
'For I = 3 To 57 Step 2
            'For C = 4 To 58 Step 2
            I = 3
            C = 4
                For J = 2 To 29
                    Me.Controls("Combobox" & J).Value = copie.Cells(9, I).Value
                    Me.Controls("textbox" & J).Value = copie.Cells(9, C).Value
                    I = I + 2
                    C = C + 2
                Next J
            'Next C
        'Next I
 

drumeiro

XLDnaute Nouveau
Bonjour
D'où sort tu les 5T, 2T,18 t , etc.?
C'est remplis par les opérateurs directement dans les textbox lors de la réalisation des stocks. Ils ne mettrons que des valeurs numériques (donc sans les T).
Dans la feuille données moulin les valeurs remplis sont juste des indicateurs pour savoir si c'est une combobox ou un textbox qui correspond à cette case avec le numéro associé, il ne faut pas en tenir compte.

Il faut les additionner dans les textbox 31 à 41
 

JM27

XLDnaute Barbatruc
bonsoir
Pour les SF

VB:
Private Sub commandbutton5_click()
    Dim I As Byte
    Dim QROF As Long
    Dim QR3F As Long
    Dim QFarine As Long
    Dim QFDFT As Long
    For I = 6 To 12
        If Me.Controls("textbox" & I) <> "" Then
            Select Case Me.Controls("Combobox" & I)
             Case "R0F"
                QROF = QROF + Me.Controls("textbox" & I).Value
             Case "R3F"
                QR3F = QR3F + Me.Controls("textbox" & I).Value
             Case "Farine"
                QFarine = QFarine + Me.Controls("textbox" & I).Value
             Case "FD/FT"
                QFDFT = QFDFT + Me.Controls("textbox" & I).Value
            End Select
        End If
    Next
    TextBox38 = QROF
    TextBox39 = QR3F
    TextBox41 = QFarine
    TextBox40 = QFDFT
End Sub
 

JM27

XLDnaute Barbatruc
Bonsoir
Dans ton fichier , sans vouloir te vexer ; il y a beaucoup de choses a revoir:
Dans la logique:
Pourquoi ouvrir le fichier gestion moulin à l'initialysation de l'userform.
Dans la réalisation:
pourquoi faire des boucles inutiles.
Par exemple

VB:
  For I = 3 To 57 Step 2
    For C = 4 To 58 Step 2
    For J = 2 To 29
        Me.Controls("Combobox" & J).Value = copie.Cells(9, I).Value
        Me.Controls("textbox" & J).Value = copie.Cells(9, C).Value
        I = I + 2
        C = C + 2
    Next J
    Next C
    Next I
A remplacer par

Code:
 I = 3
    For J = 2 To 29
        Me.Controls("Combobox" & J).Value = copie.Cells(9, I).Value
        I = I + 2
    Next J

Entre autres
Il faudra aussi contrôler la saisies par les opérateurs , des saisies non numérique planteront l'appli.

Une autre idées : pourquoi deux fichiers ? ( mais bon tu as peut être une raison)
 

drumeiro

XLDnaute Nouveau
Tu ne me vexe pas, je débute donc forcement le code n'est pas ce qui a de plus optimisé, mais au fur et à mesure que j'apprend de nouvelles choses je modifie pour petit à petit le rendre plus agréable à regarder.

Pour les boucles je m'étais posé la question mais je n'avais pas encore testé.
 

JM27

XLDnaute Barbatruc
Bonsoir
Deux manières de faire pour le prix d'une
Avec un select case ( un peu capillo tractée)
ou avec une variable de tableau ( mieux mais plus difficile à comprendre)
 

Pièces jointes

  • Programme stock (1).xlsm
    33.8 KB · Affichages: 4
Dernière édition:

JM27

XLDnaute Barbatruc
Une autre version avec commentaire et un petit bug supprimé

Edition : j'ai réalisé ton fichier , je te laisses le soin de le réaliser ( dans un but de formation) et ensuite je te posterai ma solution plus tard.
 

Pièces jointes

  • Programme stock (1).xlsm
    40.4 KB · Affichages: 1
Dernière édition:

drumeiro

XLDnaute Nouveau
Bonjour,

j'ai travaillé les 2 solutions que tu m'a proposé, pour celle avec case j'ai réussi à faire ce que je voulais par contre avec l'autre solution je bloque vu que j'ai les stockages SM7 et CG qui ont des listes différentes dans les combobox et je ne vois pas comment les incorporer. Si je les incorpore soit j'ai un message d'erreur soit j'ai des valeurs qui était prises en compte qui ne le sont plus.

Option1: le plus facile mais le moins optimisé
option2: un peu moins simple mais plus spécifique
Option 3: ça marche si je ne met pas les stockage SM7 et CG
 

Pièces jointes

  • Programme stock option1.xlsm
    42.6 KB · Affichages: 5
  • Programme stock option2.xlsm
    44.5 KB · Affichages: 2
  • Programme stock option3.xlsm
    43.8 KB · Affichages: 3
Dernière édition:

JM27

XLDnaute Barbatruc
Bonsoir
Dans tes fichiers du #13 ca plante à l'ouverture.
Pourquoi s'obstiner à charger des valeurs à l'initialisation des valeurs située dans la feuille données, ca plante ( et pour moi ca sert à rien) du fait que les style des combo box on étés mise à DropDownList (pour éviter de saisir n'importe quoi)
Pourquoi dans l'initialisation des combo mettre "Vide" ???
J'ai revu dans l'init des combo l'ordre des items pour qu'il soient cohérents entre eux
il aurait été bien de préciser les cas particulier des texbox 21 , 22 , 23 et 24
Toutes ces modifs complexifient le programme
Bon ma solution optimisé avec deux modules de classe des textbox et des combo box
et un calcul automatique des sommes farine et semoule.
Un seul fichier avec ses données simplifie grandement l'affaire

Ci joint ma solution
 

Pièces jointes

  • Programme stock un fichier et module de classe Avec calcul automatique.xlsm
    85.3 KB · Affichages: 7
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…