[VBA]Comment concevoir mon programme ?

Fermé
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - Modifié par lml-mike le 23/08/2010 à 11:50
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 23 août 2010 à 13:52
Bonjour,

Je dispose sous excel du Userform suivant :

http://www.noelshack.com/

J'aimerais en cliquant sur valider, qu'il mette dans un tableau chaque case qui a été coché en marquant l'heure (propriété Time), le prix et le type de consommation "Sandwich, Salade, Pizza, Pâtes ou Frites) pour CHAQUE consommation cochée.

N'étant pas développeur de base mais juste par loisir, je ne sais pas comment m'y prendre pour en arriver à ce stade à partir de ce formulaire.


Fiche technique du Userform :

- Dans ce formulaire lorsqu'on clique sur une case, on a le prix total qui s'affiche à chaque opération sur le formulaire. le prix total n'est là qu'à titre indicatif. voici le code d'une checkbox :

Private Sub Choix1_Click()

prixtot = prixtotal.Value

If Choix11.Value = True Then
    prixtot = prixtot + 4
Else
    prixtot = prixtot - 4
End If

prixtotal.Value = prixtot

end sub


- Les cases "Autres", si coché, affichent les formulaire les textbox et label associé où l'on saisi le montant, qui est lui aussi met à jour en temps réel le prix total.
- Toutes les checkbox concernant la bouffe porte le nom de "Choix[N°]" (par exemple Choix1, Choix23 etc...)
- Toutes les cases "Autres" portent le nom "Autre[N°]"
- Toutes les textbox "Autres" portent le nom "Text[N°]"
- Tous les Label "Autres" portent le nom "Message[N°]"

J'avais pensé à mettre tous les Choix[N°] à Choix[N°]_[Prix] dans le nom, pour faire un :
pour I de 1 a 26 
Choix_conso <- choix & I 
Si Choix_conso.valeur = vrai alors 
    prix_conso = Val(Mid$(Choix_conso, Len(Choix_conso & "_") + 1)) 
    tant que Tableau(ligne,Colonne) <> "" 
                 ligne <- ligne + 1 
    Fin Tant Que 
    Tableau(ligne,Colonne) <- Time (comprendre par Activecell.value) 
    colonne = colonne + 1 (comprendre par ActiveOffset(1,0).activate) 
    Tableau(ligne,Colonne) <- "Sandwich" 
    colonne = colonne + 1 
    Tableau(ligne,Colonne) <- prix_conso 
fin si 
Fin pour 

pour I de 27 a 32 
Choix_conso <- choix & I 
Si Choix_conso.valeur = vrai alors 
    prix_conso = Val(Mid$(Choix_conso, Len(Choix_conso & "_") + 1)) 
    tant que Tableau(ligne,Colonne) <> "" 
                 ligne <- ligne + 1 
    Fin Tant Que 
    Tableau(ligne,Colonne) <- Time (comprendre par Activecell.value) 
    colonne = colonne + 1 (comprendre par ActiveOffset(1,0).activate) 
    Tableau(ligne,Colonne) <- "Salade" 
    colonne = colonne + 1 
    Tableau(ligne,Colonne) <- prix_conso 
fin si 
Fin pour 


pour I de 33 a 34 
Choix_conso <- choix & I 
Si Choix_conso.valeur = vrai alors 
    prix_conso = Val(Mid$(Choix_conso, Len(Choix_conso & "_") + 1)) 
    tant que Tableau(ligne,Colonne) <> "" 
                 ligne <- ligne + 1 
    Fin Tant Que 
    Tableau(ligne,Colonne) <- Time (comprendre par Activecell.value) 
    colonne = colonne + 1 (comprendre par ActiveOffset(1,0).activate) 
    Tableau(ligne,Colonne) <- "Pizzas" 
    colonne = colonne + 1 
    Tableau(ligne,Colonne) <- prix_conso 
fin si 
Fin pour 

[Etc...] 


Mais il y a sûrement une meilleure alternative non ?

Merci pour vos conseils !! :-)

1 réponse

lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
23 août 2010 à 13:52
Personne ? :'(
0