Problème concernant ma listbox

Aqueduc

XLDnaute Nouveau
Bonjour/bonsoir à tous,
actuellement je réalise un petit programme excel pour gérer l'inventaire d'un magasin. J'ai réalisé un formulaire général contenant des boutons qui ouvrent d'autres formulaires.

Actuellement, je suis sur le formulaire pour retirer un article de la base de données, pour se faire, j'utilise une combobox et une textebox afin d'effectuer une recherche ( grace à un filtre sélectionné avec les deux éléments cités suivant ) . Le résultat de la recherche s'affiche alors dans une listbox, d'où mon problème :>

En soit mon code fonctionne mais ma listbox n'affiche pas toute les informations contenue dans le tableau ( uniquement la première colonne ), de ce fait, je n'arrive pas à comprendre pourquoi elle me fait cela ( pas d'erreur de plage de cellule, ni de nom et j'en passe).

Je vous passe mon fichier en pièce jointe en espérant que quelqu'un ai une solution ! :)
Merci d'avance,
Aqueduc.
 

Pièces jointes

  • INVENTAIRE-MAGASIN.xlsm
    48.2 KB · Affichages: 15

Lone-wolf

XLDnaute Barbatruc
Bonjour Aqueduc et bienvenue sur XLD :), Le Forum :)

Il faut parametrer la listbox en ajoutant le nombre de colonnes et leurs largeurs; soit directement dans les propriétés, soit en l'initialisant dans le formulaire <Userform_Initialize()>.

Pour la recherche, pas besoin de la textbox et du filtre avancé, la combobox suffit (évite de taper tous les types de produit si tu y ajoute la liste sans doublons).
Et pour éviter une erreur de manipulation lors de la suppression d'un produit, j'ajouterais des textbox, pour afficher le produit sélectionné. Pas besoin non plus de tous ces formulaires.

EDIT: En PJ, le nouveau fichier. J'ai rajouté une colonne pour avoir un identifiant unique.

Mode d'emploi:

Double-clique sur la feuille pour afficher le formulaire.

Pour ajouter un nouveau produit: remplit les textbox's en dessous de la listbox, puis clique sur Nouveau. En ce qui concerne les textbox's % et €, inscrit juste le chiffre.

Pour modifier un produit: sélectionne un type avec la combobox, clique sur une ligne de la listbox, apporte les modifications aux textbox's
en dessous de la listbox, puis clique sur Modifier.

Pour supprimer un produit: sélectionne un type avec la combobox, clique sur une ligne de la listbox, puis clique sur Supprimer.

Le bouton Actualiser sert à afficher toutes les données dans la listbox.

Pour quitter: clique sur le bouton Quitter.

NOTE: l'identifiant sera créé automatiquement. Ne pas modifier la textbox ID.
 

Pièces jointes

  • INVENTAIRE-MAGASIN.zip
    45.3 KB · Affichages: 23
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour Aqueduc :)

Merci pareillement. ;)

Une modification du bouton Actualiser

VB:
Private Sub Actualiser_Click()
    ComboBox1.Text = ""
    With Ws
        derlig = .Range("a" & Rows.Count).End(xlUp).Row
        n = 0
        bd = Range("a2:f" & derlig).Value
        For i = 1 To UBound(bd)
            n = n + 1: ReDim Preserve Tbl(1 To UBound(bd, 2), 1 To n)
            For k = 1 To UBound(bd, 2): Tbl(k, n) = bd(i, k): Next k
        Next i
        ListBox1.Column = Tbl
        TextBox7 = ListBox1.ListCount
    End With

    On Error Resume Next
    For i = 0 To ListBox1.ListCount - 1
        For col = 1 To 3
            If IsNumeric(ListBox1.List(i, col)) Then _
               ListBox1.List(i, col) = Format(ListBox1.List(i, col), "0.00€")
        Next col
        For col = 4 To 5
            ListBox1.List(i, col) = Format(ListBox1.List(i, col), "0%")
        Next col
    Next i

End Sub
 

Discussions similaires

Réponses
18
Affichages
598
Réponses
21
Affichages
970

Statistiques des forums

Discussions
312 078
Messages
2 085 120
Membres
102 783
dernier inscrit
Basoje