Userform complexe

T

tomtom

Guest
Bonjour a tous le forum,
J'ai un fichier excel dans lequel il y a un tableau avec des friandise et des boissons et des prix pour les client (1€50) et pour le personnel (0€50).
Je voudrai créer un userform qui me dirai:
Boissons: (une liste déroulante ou je selectionnerai la boissons)
Quantité: (une texte box ou je mettrai la quantité prix par le client ou le personnel)
Client ou Personnel : un bouton d'option pour selectionner personnel ou client.

Enfin aprés avoir tout selectionner, le programme additionnerai mon choix dans le tableau
Par exemple un client prend un coca, aprés avoir selectionner coca quantité et client le programme marquerai dans la cellule correspondante de on tableau
Je vous ai mis mon tableau en piece jointe
Ce n'est peut etre pas trés clair mais si vous avez des questions demander

Merci a tous [file name=userform_20051214142435.zip size=7988]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/userform_20051214142435.zip[/file]
 

Pièces jointes

  • userform_20051214142435.zip
    7.8 KB · Affichages: 34

Toutou

XLDnaute Occasionnel
Bonjour tomtom,
j'ai potasser ton problème, tu trouveras en pièce jointe ce que j'en ai sorti, en espérant que ça te convienne,
@ +
Toutou [file name=Classeur3_20051214152108.zip size=13706]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur3_20051214152108.zip[/file]
 

Pièces jointes

  • Classeur3_20051214152108.zip
    13.4 KB · Affichages: 70
T

tomtom

Guest
Salut,
Ces cellules c'est bon j'ai changé mais c les cellule qui doivent recevoir la quantité.
D'autre part il semblerai qu'il y é un problème avec la commande pour les employeurs au niveau des boisson et avec la commande pour les clients au niveau des friandise.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour TomTom, TouTou, Le ForFor (oups le Forum ! lol)

Oui il semblerait qu'il y ait quelques soucis....

Voici la version corrigée ;-) avec Comments


Bonne Journée
[ol]@+Thierry[/ol] [file name=USF_Livre_de_caisse.zip size=15783]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_Livre_de_caisse.zip[/file]
 

Pièces jointes

  • USF_Livre_de_caisse.zip
    15.4 KB · Affichages: 46

Toutou

XLDnaute Occasionnel
Re
A quelle claque!!! :pinch: Ca fait mal :(
Merci pour cette correction Professeur Thierry.;)

Pour répondre à ta question Tomtom,
les cellules sont déterminées par des coordonnées elle-même utilisées comme variables:
li et la sont des variables qui prennent en compte le numéro de l'élément choisi dans une liste pour retourner l'info dans la bonn colonne, dans l'expression (li,3), le 3 détermine le numéro de la colonne.
Voilà, j'espère que tu as compris, en dépit de mes piètres explications;
@ +
Toutou ;)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonjour TomTom

Je ne suis pas sûr d'avoir tout compris dans ta demande...

Que veux-tu dire ?

Je comprends par exemple :
'Les cellules où les quantités doivent apparaitre'

Si on choisit Coca quantité 2 en option 'Tarif Client' c'est la cellule 'C3' qui va se remplir... avec un Deux

Ensuite si on ré-ouvre le UserForm et qu'on choisit à nouveau Coca quantité Cing en option 'Tarif Client' la cellule 'C3' va s'incrémenter de 2 + 5 soit Sept indiqué dans cette cellule...

Tout se passe dans cette partie de code :

Code:
    With Worksheets('Feuil1')
        li = ListBox1.ListIndex + 3
        la = ListBox2.ListIndex + 3
        If OptionButton1 = True Then
            w = .Cells(li, 3).Value
            y = .Cells(li, 7).Value
            .Cells(li, 3) = TextBox1.Value + w
            .Cells(la, 7) = TextBox2.Value + y
        Else
            x = .Cells(la, 4).Value
            z = .Cells(la, 8).Value
            .Cells(li, 4) = TextBox1.Value + x
            .Cells(la, 8) = TextBox2.Value + z
        End If
    End With


En détaillant un peu pour mon exemple 'Coca' les Boisson sont en ListBox1... Donc cette ligne là va être utile :

li = ListBox1.ListIndex + 3

Li va prendre le numéro de la ligne où se trouve 'Coca' qui est en position 1 de la ListBox (Soit Zéro en informatique) plus un décalage de deux lignes dans le tableau sur la feuille (les données commence en ligne 3)...

Donc ça donne
Premier Item = 0 soit plus 1 pour correspondre
Deux Lignes Perdues = 2

C'est pour ça ce + 3

La suite si on a choisit Client c'est donc l'OptionButton1 qui est true et donc c'est cette condition qui est remplie

If OptionButton1 = True Then


On doit ensuite récupérer la valeur de la ligne Coca comme suit

w = .Cells(li, 3).Value

Donc w va recevoir la valeur 2 dans mon exemple

Puis on va additionner la nouvelle valeur en TextBox1 + W en l'envoyant en cellule C3 (Pour mon exemple 7)

.Cells(li, 3) = TextBox1.Value + w

En espérant t'avoir éclairé un peu
Bonne soirée
[ol]@+Thierry[/ol]

PS tu dois d'ailleurs appliquer une correction comme dans le code ci-dessus car j'ai laisser passé un,e erreur dans le fichier joint...
 

_Thierry

XLDnaute Barbatruc
Repose en paix
re Bonsoir TomTom

Voici une Version adaptée où j'ai indiqué là où il faut intervenir...

Bonne Soirée
[ol]@+Thierry[/ol] [file name=USF_Livre_de_caisseV01.zip size=14523]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_Livre_de_caisseV01.zip[/file]
 

Pièces jointes

  • USF_Livre_de_caisseV01.zip
    14.2 KB · Affichages: 61

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 206
dernier inscrit
diambote