Accueil > Forum > > > > gestion boutique
gestion boutique
jeudi 6 mars 2008 à 11:39:19 |
gestion boutique

Fabian123
|
Bonjour à tous! voilà mon problème: j'ai un classeur excel dans lequel j'ai un tableau de trois colonnes, une avec la catégorie, une avec l'article et une avec le prix. ça donne donc, pour exemple, ceci: | colonneB | ColonneC | ColonneD | | alimentaire | pomme | 0,7 | | alimentaire | poire | 0,65 | | non alimentaire | cuilleres | 1,1 | | non alimentaire | fourchettes | 1,15 | | livre | mangerbien | 8,25 | | livre | le chocolat | 8,25 | | livre | lesgateaux | 17,15 |
je souhaiterais, dans un userform placer trois optionbutton, qui correspondrait chacun à une catégorie et lorsque je sélectionnerais un de ces boutons, les articles correspondant ainsi que leur prix s'afficherais dans une ListBox... j'ai essayé avec l'aide d'excel... mais je n'arrive pas à appliquer les deux exemples donnés dans l'aide... (il s'agit d'exemple avec 'MatchEntry' et 'Item') Je pense que je dois travailler avec MatchEntry, mais je n'y arrive pas... Quelqu'un peut m'aider ou me donner des pistes? Merci d'avance!
|
|
jeudi 6 mars 2008 à 11:56:27 |
Re : gestion boutique

Firelion
|
Bonjour,
Je crois que pour ajouter un élément à une ListBox il faut utiliser ListBox.AddItem
|
|
jeudi 6 mars 2008 à 12:05:48 |
Re : gestion boutique

Fabian123
|
oui, il faut utiliser additem, mais il faut qu'il sélectionne dans ma colonne' article' uniquement les articles correspondant à ma sélection faite avec les optionbuttons.. par exemple si j'ai sélectionné le bouton 'livres', il ne devrait afficher dans la listbox les trois articles concernés... et ça, je ne sais pas comment faire...
Mais merci de t'interesser à mon souci!
|
|
jeudi 6 mars 2008 à 12:16:14 |
Re : gestion boutique

NHenry
|
Bonjour Pour récupérer la liste des catégories : Private function GetListCategories() as String() dim ltStr() as string Redim ltStr(-1 to -1) dim i as long dim j as long dim lOK as boolean dim lStr as string i=0 Do while Range ("B2").offset(i,0).value<>"" lOK=true lStr=Range ("B2").offset(i,0).value 'Recherche si la catégorie est connue for j=0 to ubound(ltstr) if lstr=ltstr(j) then lok=false exit for end if Next j 'Si inconnue, on l'ajoute if lok then If ubound(ltstr)>=0 then redim preserve ltstr(0 to ubound(ltstr)+1) else redim ltstr(0 to 0) end if ltstr(ubound(ltstr))=lstr end if i=i+1 Loop GetListCategories=ltStr End function Ensuite pour remplir ta listbox : Private sub RemplLstBx(byval pCategorie as string) dim i as long ListBox1.Clear i=0 Do while Range ("B2").offset(i,0).value<>"" If Range ("B2").offset(i,0).value=pcategorie Then ListBox1.addItem Range ("C2").offset(i,0).value & " (" & cstr (Range ("D2").offset(i,0).value) & ")" end if i=i+1 Loop End sub Code tapé endehore de VBA, possibilités d'erreurs et de fautes de frappes. Dans Word, j'Excel. (juste pour la citation) VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
jeudi 6 mars 2008 à 14:08:00 |
Re : gestion boutique

Fabian123
|
Merci NHenry pour ton code...
mais à mon avis je dois être le plus mauvais programmeur que l'histoire ai connu!
je place ton code, il ne plante pas mais il ne se passe rien non plus... je présume que je ne le place pas au bon endroit...
j'ai placé ton code dans le userform_initialize(), mais je suppose que j'ai fait une bourde monumentale qui va te faire dresser les cheveux sur la tête!!
je continue à chercher, je finirai bien par trouver!
|
|
jeudi 6 mars 2008 à 14:23:06 |
Re : gestion boutique

NHenry
|
Bonjour Ne te sens pas seul, tout le monde a été débutant un jour. Tu mets ces fonction/procédures dans la form qui les utilises (tel quel, sans mettre dans une autre fonction). Ensuite quand tu veux remplir la liste des catégories, dans la sub que tu as choisi (gestionnaire d'evenement), tu fais : Dim ltCategories() as string dim i as long ltCategories=GetListCategories() For i=0 to ubound(ltCategories) ComboBox1.AddItem (ltCategories(i)) 'Tu remplaces évidamment ComboBox1 par le nom de ton ComboBox Next i Ensuite, dans l'event Click de ton ComboBox : RemplLstBx(ComBoBox1.Text) N'oublis pas de mettre le nom de la listbox choisie dans la sub. Dans Word, j'Excel. (juste pour la citation) VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
jeudi 6 mars 2008 à 14:36:02 |
Re : gestion boutique

Fabian123
|
Merci de prendre le temps de m'expliquer... (je crois que ce que je veux faire est un peu trop compliqué pour un débutant comme moi...)
je pense savoir pourquoi il ne se passait rien quand j'ai mis ton code...
en fait si je t'ai bien compris, tu utilise une combobox pour afficher et selectionner la catégorie (alimentaire, non alimentaire et livres dans mon cas) En fait, moi je pensais utiliser des boutons d'options, chacun intitulé par la catégorie (il n'y aura jamais d'autres catégories que celles citées, c'est pour ca que j'avais opté pour les boutons...
mais je vais essayer avec une combobox, après tout ça sera peut être aussi bien!
encore merci!
|
|
jeudi 6 mars 2008 à 14:47:29 |
Re : gestion boutique

NHenry
|
Bonjour Ben alors, tu n'as qu'a utiliser la sub RemplLstBx en mettant en paramètre le nom de la catégorie. Dans Word, j'Excel. (juste pour la citation) VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
jeudi 6 mars 2008 à 15:23:12 |
Re : gestion boutique

Fabian123
|
tout le monde a débuté un jour, c'est vrai, mais moi je commence à me demander si je n'aurais pas mieux fait d'arrêter avant de commencer!!!
alors, j'ai fait comme tu as dit (enfin je pense, puisque ça plante, il doit y avoir un truc que j'ai pas fait comme tu as dit!!!)
je te laisse le code comme je l'ai copié dans mon userform... peut être pourras tu me dire ou je commet des erreurs... (j'aime pas être débutant...!)
il me met le message d'erreur suivant: "Erreur d'execution '424' : Objet requis"
Encore merci pour ton aide!
Private Function GetListCategories() As String() Dim ltStr() As String ReDim ltStr(-1 To -1) Dim i As Long Dim j As Long Dim lOK As Boolean Dim lStr As String i = 0 Do While Range("B2").Offset(i, 0).Value <> "" lOK = True lStr = Range("B2").Offset(i, 0).Value 'Recherche si la catégorie est connue For j = 0 To UBound(ltStr) If lStr = ltStr(j) Then lOK = False Exit For End If Next j 'Si inconnue, on l'ajoute If lOK Then If UBound(ltStr) >= 0 Then ReDim Preserve ltStr(0 To UBound(ltStr) + 1) Else ReDim ltStr(0 To 0) End If ltStr(UBound(ltStr)) = lStr End If i = i + 1 Loop GetListCategories = ltStr End Function
'Ensuite pour remplir ta listbox : Private Sub RemplLstBx(ByVal pCategorie As String) Dim i As Long ListBox1.Clear i = 0 Do While Range("B2").Offset(i, 0).Value <> "" If Range("B2").Offset(i, 0).Value = pCategorie Then ListBox1.AddItem Range("C2").Offset(i, 0).Value & " (" & CStr(Range("D2").Offset(i, 0).Value) & ")" End If i = i + 1 Loop End Sub
Private Sub OptionButton_Alimentaire_Click() RemplLstBx (Alimentaire.Text) End Sub
Private Sub OptionButton_NonAlimentaire_Click() RemplLstBx (NonAlimentaire.Text) End Sub
Private Sub OptionButton_Livres_Click() RemplLstBx (Livres.Text) End Sub
|
|
jeudi 6 mars 2008 à 15:29:27 |
Re : gestion boutique

NHenry
|
Bonjour Erreur "Erreur d'execution '424' : Objet requis" OK, mais où ? Si c'est sur cette ligne : ListBox1.AddItem Range("C2").Offset(i, 0).Value & " (" & CStr(Range("D2").Offset(i, 0).Value) & ")"C'est que Listbox1 ne doit pas être ton Listbox Au passage, pense à mettre TOUJOURS "Option Explicit" en haut de ton code (UserForm, Module, ...) Dans Word, j'Excel. (juste pour la citation) VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
Cette discussion est classée dans : excel, gestion, catégorie, trois, boutique
Répondre à ce message
Sujets en rapport avec ce message
gestion d'impression sur excel [ par stef ]
je débute en VB et j'aimerai résoudre un petit pb :quand j'importe des données sur excel, je ne connaît pas à priori le nombre de ligne importées. Si
Base de donnée en Excel [ par micyawo ]
A vous tousJ'aimerais faire une gestion d'une base de donnée. Mais non plus en Access mais en Excel. Pouvez vous me donner un coup de main, en m'indiq
gestion d'une feuille excel dans un formulaire vba [ par solar01 ]
Je pense que je devrais normalement pouvoir trouver une réponse à ma question dans les anciens messages du forum, mais ça fait une heure que je cherch
Gestion de cellules sur une feuille excel [ par cristal17 ]
Bonjour, J'ai le probleme suivant:Je voudrais analyser une colonne entiere d'une feuille d'un fichier excel. Si une cellule contient une valeur inferi
vb.net et gestion excel [ par chambou ]
Bonjour, je voudrais ouvrir un fichier excel deja existant et recuperer dans un string le texte qui se trouve dans la cellule B2 par exemple.Pourriez
gestion automatique des feuilles excel,(pour production) [ par amateurwill ]
bonjour a tous et à toutes,je souhaiterais un coup de main sur ette gestion auto des feuilles excel en code vba...tous le scénario est là et ecris..la
gestion de fichier excel avec Visual Basic 6 [ par audraigle ]
bonjour,je voudrais gerer un fichier excel en visual basic 6:je voudrais savoir comment on lit une donnée de ce fichier , comment on gere les pointeur
HELP URGENCE Pbm Gestion de mes #N/A sous excel [ par blarrere ]
Bon je me galere depuis ce matin sur un truc:Je dois effectuer une recherche v donc simple me direz vous, mais il est obliger ( c la base qui veut cel
Excel - Gestion de tableau [ par Groargreugro ]
D'un logiciel du boulot, on extrait tout les jours des données relatif a tous les services de ma boite sous forme d'un fichier texte totallement illis
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|