XL 2010 ComboBox, TextBox...Là c'est du costeaud pour moi...SOS

jeanba

XLDnaute Occasionnel
Bonjour à tous,

Je suis toujours dans mon projet, vu que le webmaster n'a pas répondu à ma demande ...
Alors, j'ai tâtonné jusqu'ici avec l'aide des uns et des autres. Mais, j'arrive à un autre niveau je crois.

Voici le problème:

1 - Je dois saisir les données dans un USF et les stocquer dans les feuilles concernées en fonction de l'ID caisse sélectionnée ET du mois d'inventaire...
Par exemple, si je saisis les données de la Caisse CP:

a) je dois pouvoir sélectionner sur 3 listes ComboBox de mon USF 3 choses:
a1) La liste des Caisses (USF11_ComboBox1) et le résultat de ma sélection apparaître en USF11_16, juste à côté sur l'USF)
a2) La liste des dates d'inventaire (USF11_ComboBox2
a3) La liste des compteurs autorisés (en l'occurences les responsables de caisses) en ComboBox 3 et la date du jour de la saisie apparaître en bas à gauche en TextBox17

b) lorsque je cliquerai sur Enregistrer, je dois raffaîchir la feuille "Billetage CP" et "Ranger" les données saisies dans la colonne N, précisément, la plage N8:N20


c) en saisie des données d'inventaire, après avoir rentré le nombre d'unités comptées, le montant appraît sur chaque ligne concernées dans des TextBox14 à 26 (En effet, puisqu'en Quittant l'USF, on ne devrait plus modifier ces données, je prévois donc que sur mon USF, l'user puisse contrôler que les chiffres qu'il rentre au fur et à mesure sont bien correctes, grâce aux résultats qui apparaissent en saisie dans la colonne "Montant" de l'USF)


2- Bouton ENREGISTRER
En cliquant sur Enregistrer, je RANGE les données saisie dans la feuille appropriée, mais les données sont encore modifiables.

3- Bouton QUITTER
Il ne fait pas qu'un Unload classique. Il verrouille également les cellulles qui ont reçu les données saisies et en interdit la modif.

Voilà en gros mon gros souci qui m'occupe l'esprit depuis des jours.
J'ai tenté de baragouiner un code pour afficher les listes des ComboBox tel que lu ci et là, mais ça fonctionne pas..

Alors, je viens à vous, ma communauté XLNaute qui me fait tant de bien! Biensûr, le fichier est joint...

Merci par avance!
Jeanba
 

Pièces jointes

  • Billetage.xlsm
    41.5 KB · Affichages: 74

jeanba

XLDnaute Occasionnel
Bonjour Le Forum, Regueiro, Bebere et tous ceux qui sont déjà intervenus sur le présent sujet,

Voici le fichier en version dépouillée d'autres USF qui risquaient inutilement d'alourdir l'envoi.
J'ai toutefois laissé un en plus sur lequel je comptais également sollicité votre aide (suite dernière demande du destinataire).
Si quelqu'un y pouvait jeter aussi un oeil SVP, car étant au chômage et vu l'âge, difficile de joindre les 2 bouts, vu que la courbe de chômage prend l'autre sens... Alors, avec ça je peux grappiller quelques euros de Noël, hum?
Merci par avance.

Jeanba
 

Pièces jointes

  • XLD Billetage V03.xlsm
    119.5 KB · Affichages: 43

Bebere

XLDnaute Barbatruc
Bonsoir
tag des texbox 1 à 13 est vide
dans userform_initialise
a = Array(10000, 5000, 2000, 1000, 500, 500, 100, 50, 25, 10, 5, 2, 1)
dans module1 déclaré public a
il est inutile de faire une boucle dans le module de classe
Code:
Private Sub txtB_Change()
    Dim total As Double
    'Initialise la variable à 0
    'total = 0
    If USF11.TboTotal.Value <> "" Then total = USF11.TboTotal.Value Else total = 0
    I = Mid(txtB.Name, 14)
    USF11.Controls("USF11_TextBox" & I + 13).Value = Format(txtB.Value * a(I - 1), "#,##0.00")
    total = total + CDbl(USF11.Controls("USF11_TextBox" & I + 13).Value)
    'Le TextBox "txtTotal" recoit le total
    USF11.TboTotal.Value = Format(total, "#,##0.00")
End Sub
il manque une textbox dans usf11 ,pour le code le nom est TboTotal
 

jeanba

XLDnaute Occasionnel
il manque une textbox dans usf11 ,pour le code le nom est TboTotal

Bonsoir Bebere,

Merci pour ta réponse rapide.
Mais, j'ai pas tout compris, surtout ce que tu as écrit en dernier que je cite ci-dessus.
Tu dis qu'il manque une TexBox dans l'usf11 et en même temps, tu parles de code avec un nom TboTotal..
Pourrais-tu joindre le fichier sur lequel tu as bossé pour plus de clarté s'il te plaît?

Jeanba
 

grisan29

XLDnaute Accro
bonsoir Bebère, Jeanba et le forum
je viens d'essayer le code de Bèbère sur le dernier classeur de Jeanba et il y a un bug a cette ligne
Code:
USF11.Controls("USF11_TextBox" & i + 13).Value = Format(txtB.Value * a(i - 1), "#,##0.00")
ou le "a" est en cause dans une erreur de compilation ou il manque une sub où fonction
je pense que nommé les textbox comme ils le sont "USF11_TextBox1" n'est pas la meilleure solution car non compatible avec juste "TboTotal"

voila un avis perso
 

jeanba

XLDnaute Occasionnel
Bebere,

Voici le message à l'ouverture du fichier:
upload_2016-12-19_22-20-18.png


Et après ça, en lançant la macro, il tourne sans s'arrêter et sans afficher d'usf...
Même en tentant de lancer directement au niveau de l'usf, même message d'arrêt!
Sais pas ce qui se passe...
 

Pièces jointes

  • upload_2016-12-19_22-19-48.png
    upload_2016-12-19_22-19-48.png
    16.3 KB · Affichages: 42

Regueiro

XLDnaute Impliqué
Bonsoir le Forum.
En effet la propriété tag des textbox 1 à 13 étaient vident
Je les avais rentrer manuellement, mais avec la solution du post N° 50 de Bebere c'est ok

Pour que le total s'affiche dans le USF11
VB:
Private Sub txtB_Change()
    Dim total As Double
    'Initialise la variable à 0
    total = 0
    If USF11.TboTotal.Value <> "" Then total = USF11.TboTotal.Value Else total = 0
    I = Mid(txtB.Name, 14)
    USF11.Controls("USF11_TextBox" & I + 13).Value = Format(txtB.Value * a(I - 1), "#,##0.00")
    total = total + CDbl(USF11.Controls("USF11_TextBox" & I + 13).Value)
    'Le TextBox "txtTotal" recoit le total
    USF11.TboTotal.Value = Format(total, "#,##0.00")
End Sub
 

Pièces jointes

  • XLD Capture 1.JPG
    XLD Capture 1.JPG
    378.2 KB · Affichages: 46

jeanba

XLDnaute Occasionnel
Bonsoir à toi Regueiro,
Certainement que ça marche le code du post 50, mais chez moi, ça renvoie toujours l'erreur sur le "a".
Il a dit qu'il fallait le déclarer en public dans le module 1.
Mon problème est comment le faire, faut-il d'abord écrire ce que je vois ci et là "Option Explicit" et puis Dim a as Integer ou Long?
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26