|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : gestion boutique [ Langages dérivés / VBA ] (Fabian123)
Informations & options pour cette discussion
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é 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
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|