Comment reproduire le principe "d'ajout au panier"
benosty
Messages postés6Date d'inscriptiondimanche 19 février 2012StatutMembreDernière intervention28 février 2012
-
28 févr. 2012 à 12:20
benosty
Messages postés6Date d'inscriptiondimanche 19 février 2012StatutMembreDernière intervention28 février 2012
-
28 févr. 2012 à 22:17
Salut à tous,
J'ai un petit soucis dans l'écriture de mon code vb.
Mon but est d'ajouter des produits dans un panier.
Je souhaite réalisé ceci :
Dans une ComboBox je dispose d'une liste où je choisi un produit. J'ai créé un bouton qui me permet, lorsque je click sur dessus, d'attribuer la valeur de la ComboBox à un label.caption.
Imaginons que j'ai créé n label. Dans ce cas la, comment faire pour que lorsque j'ajoute un second produit, label2.caption prenne la valeur de ma Combobox,lorsque j'ajoute un troisième produit, label3.caption prenne la valeur de ma Combobox etc ...
Voici le code que j'ai essayé, mais celui-ci me donne toujours n = 1.
Private Sub CommandButton1_Click()
If n "" Then n 1
Controls("Label" & n) = Combobox1
n = n + 1
End Sub
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 28 févr. 2012 à 12:51
Bonjour,
Qu'as-tu fait de ma réponse dans ton autre discussion ? Rien ?
Pour mémoire :
déclare donc ta variable n en Static (ton aide VBA sur ce mot)!
As-tu ouvert ton aide VBA ?
En as-tu profité pour, au passage, apprendre ce qu'était la portée d'un variable ?*
Ou viens-tu simplement chercher ici ce que tu n'auras qu'à copier (et je serai alors bien évidemment totalement absent !) ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 28 févr. 2012 à 13:23
Bonjour, Renfield,
s'il n'y avait que cela !
regarde la discussion que je viens d'ouvrir à l'instant dans le bar et dont je comprendrais (puisque écrite dans un élan de révolte) qu'elle fût supprimée purement et simplement :
Je vis des moments de grande lassitude.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Vous n’avez pas trouvé la réponse que vous recherchez ?
benosty
Messages postés6Date d'inscriptiondimanche 19 février 2012StatutMembreDernière intervention28 février 2012 28 févr. 2012 à 19:30
Un grand merci à vous pour votre compréhension. Je suis nouveau sur le forum ainsi que dans l'univers de la programmation et je dois avouer que j'ai été très bien accueilli, très bien redirigé entre les rubriques et très bien rabaissé par le grand cavalier et son petit compagnon. Ce duo de robots n'a sans doute jamais connu l'erreur et l'apprentissage semble-t-il.
Bref , tout ce qu'il faut pour vous donner envie de construire ensemble une réponse qui puisse servir à la communauté par la suite. Car n'est ce pas ça aussi l'utilité des forums?
Vous avez cependant laissé s'échapper d'entre vos dents bien serrées une réponse à ma question. >> bravo, bravo ucfoutu pour le conseil : "déclare donc ta variable n en Static (ton aide VBA sur ce mot)!"
Du coup, j'ai le code suivant :
Private Sub CommandButton1_Click()
Static n
If n "" Then n 1
Controls("Label" & n) = Combobox1
n = n + 1
End Sub
Oui mais voila depuis le sujet s'est complexifié et je vous propose un code (concoter par mes soins, je précise pour pas me refaire engueulélélélé..)
qui doit répondre a ceci :
je souhaite que ce code passe directement à n = 2 si : avant de cliquer sur CommandButton1 pour la PREMIERE FOIS label1.caption <> ""
à n = 3 si : avant de cliquer sur CommandButton1 pour la PREMIERE FOIS label1.caption <> ""
et label2.caption <> ""
Bref que n correspond au premier labeln.caption = "" dans une liste de 20 label
Du coup :
'AJOUTER AU PANIER
Dim TestRemp As Boolean
dim p as integer
Static n
TestRemp = False 'teste le remplissage des labels
p = 0
If label1.Caption = "" Then 'si le premier des label n'est pas rempli alors tous les labels sont vides : la procédure vue précédèment est lancée.
If n "" Then n 1
Controls("Label" & n) = Combobox1
n = n + 1
Else: 'si le premier des label est rempli alors chercher le premier labeln.caption = ""
Do
Do While p < 20
p = p + 1
If Controls("label" & p) <> "" Then
TestRemp = True
Exit Do
End If
Loop
Loop Until TestRemp = false
n = p
Controls("Label" & n) = Combobox1
End If
Voila mes chères amis, admins et autres internautes. Si vous êtes arrivés jusqu'au bout de ce message j'espère que vous aurez encore un peu de argne pour me répondre. Vous connaissant je n'en doute pas..
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 28 févr. 2012 à 19:59
Bon!
le prince des robots va maintenant laisser filer autre choses entre ses dents (bien qu'absentes et remplacées aujourd'hui, elles se serrent fort bien) :
Tu n'es pas sur un Chat ni dans un salon.
On ne change ici pas la donne et on n'attend pas que d'autres suivent tes changements de donne.
Le problème n'est plus celui du départ ?
Et la prochaine évolution de ton mécanisme devrait entraîner, selon toi, une évolyution des réponses, au gré de tes vagues ?
Sans moi. Tu m'as coupé le sifflet ! Ton problème (son évolution) dépasse soudain toutes mes connaissances et même, pour le coup, ma compréhension, voire directement mon agilité et mon intelligence. Je suis soudain devenu muet (mais, tu vas le constater, un muet très sélectif, en fonction du demandeur).
Je ne peux que te souhaiter de trouver un autre seigneur pour te guider. Il y en a (s'ils le veulent et ce sera leur choix).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 févr. 2012 à 21:07
On est bénévoles, altruistes, je dirai, même.
Le but n'est pas pour nous d'étaler ce qu'on sais, ou que l'on pense savoir... On tente de répondre, de s'approprier les problemes, pour donner des réponses adaptées et personnalisées. Il faut parfois une vision d'ensemble du probleme, pour voir si la solution colle avec la problematique, et non le probleme précis...
Inutile de s'attarder davantage sur le Hors Sujet...
concernant ton probleme, il serait plus simple, et plus propre d'utiliser un ListView, en mode Report
ca permettrait de ne plus t'occuper de n labels
de gérer un scrollbar, donc un grand nombre d'articles
de coller avec le look & feel de windows
pour ajouter un listview
Ctrl+T (Menu Projet > Composants)
Microsoft Windows Common Controls 6.0
benosty
Messages postés6Date d'inscriptiondimanche 19 février 2012StatutMembreDernière intervention28 février 2012 28 févr. 2012 à 22:17
Merci pour ta réponse Renfield qui a le mérite d'être calme et qui ouvre sur quelque chose de constructif. Je ne connais pas tout les termes que tu as utiliser mais je chercherai demain pour voir ce que l'on peut faire avec tout ça. Merci, bonne soirée.