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)

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   pomme0,7
alimentaire                     poire0,65
non alimentaire   cuilleres1,1
non alimentaire   fourchettes1,15
livre   mangerbien8,25
livre   le chocolat8,25
livre   lesgateaux17,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

Membre Club
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

Membre Club
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

Membre Club
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

Membre Club
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


1 2

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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,232 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.