Microsoft 365 Filtre listview comboBox en cascades avec tableau structuré

Piment

XLDnaute Occasionnel
Bonjour à tous,
Une fois encore je me retourne vers vous afin de m'aider.
J'ai un problème avec le filtre de ma listView.
Les ComboBox 1 et 2 fonctionnent à priori sans problème, par contre la comboBox 3 ne filtre pas par rapport à la comboBox 2: donc forcément le tri de la comboBox 4 est faussé.
Si quelqu'un a la bonté de jeter un coup d'œil sur le fichier joint et trouver l'erreur, je lui en serais reconnaissant.
Merci à vous.
 

Pièces jointes

  • Test Magasin.xlsm
    77.4 KB · Affichages: 6

Piment

XLDnaute Occasionnel
TooFatBoy:
En quoi ça la concerne ??? 🤔

Si elle s'intéresse aux tableaux, je peux dors et déjà te dire que c'est mal barré. 😕
Ça veut dire qu'elle va écrire directement dans les tableaux sans passer par le UserForm...
Là ça n'aura peut-être pas de conséquences fâcheuses parce que c'est un projet très simple, mais ça montre qu'elle n'a pas compris qu'elle n'a pas besoin d'aller voir les tableaux puisque tout devrait se passer dans les UserForm.
Au moment où je t'ai répondu, tout le contenu de ton post n'avait pas remonté. Pour être précis, dans l'absolue elle n'a pas à aller dans le tableau. Mais l'Usf doit prendre en compte la structure du tableau: d'où l'adaptation.
Je pense aussi, que je suis obligé de tenir compte de la structure du tableau pour le bon de commande, que j'ai aussi adapté. J'ai d'ailleurs un soucis sur les filtres de la LisView.
 

fanch55

XLDnaute Barbatruc
Fanch55: apparemment je ne peux pas modifier une ligne existante à partir de l'Usf "Alimenter_Catalogue". C'est ça?.
Je ne peux que rajouter une ligne, c'est ça.
L'usf permet de:
Si (Catégorie + Nom + Couleur + type bouton) existent à l'identique dans la base, on met à jour les champs secondaires (Fournisseur + Prix/Botte + Nbre Tige/Botte) sinon une ligne est ajoutée .
 

Piment

XLDnaute Occasionnel
Re
tes Filtre(2) etc etc ne tiennent compte que d'une colonne , donc les résultats sont faussés
Jean marie

L'usf permet de:
Si (Catégorie + Nom + Couleur + type bouton) existent à l'identique dans la base, on met à jour les champs secondaires (Fournisseur + Prix/Botte + Nbre Tige/Botte) sinon une ligne est ajoutée .
Exact, autant pour moi : une erreur de frappe sur le Type de Bouton qui a entrainée l'ajout d'une nouvelle ligne au lieu de remplir les cellules vides. Merci à toi
 

Piment

XLDnaute Occasionnel
Exact, autant pour moi : une erreur de frappe sur le Type de Bouton qui a entrainée l'ajout d'une nouvelle ligne au lieu de remplir les cellules vides. Merci à toi
Jean-Marie, je me disais aussi. Il n'y a pas de mal. On en est au 83ème post, et il se fait tard (3 heures de décalage horaire, donc 23h10 chez moi)!
Fanch55 tu peux regarder cette histoire de sub "Load_Listview(Fields)" qui plante dans l'Usf "Commande, s'il te plaît.
Merci.
 

ChTi160

XLDnaute Barbatruc
re dans le Fichier du Post#74 j'ai eu les mêmes Problèmes du au fait que de nombreuses colonnes Sont vides .
j'ai complété ces Colonnes et Plus d'erreur !
je n'y connait rien et ne comprends rien , a cette façon très avancé de gérer des données . je ne sais donc pas comment gérer ce genre de cas (cellules vides) , qui occasionnent des erreurs !
Bonne nuit
jean marie
 

fanch55

XLDnaute Barbatruc
Dernier message pour aujourd'hui, bonne nuit à tous .... 😴
VB:
Sub Load_Listview(Fields)
Dim Rows, Cols, Lst
' on charge la listview avec les données récupérées par le get_fields
    With Me.ListView_List_Fleurs
        With .ListItems
            .Clear
            For Rows = 0 To UBound(Fields, 2)
                Set Lst = .Add(, , Fields(0, Rows))
                For Cols = 1 To UBound(Fields, 1)
                    Select Case Cols
                    Case 5, UBound(Fields, 1) ' les champs 4 et max sont des euros
                        Lst.ListSubItems.Add Text:=Format(Fields(Cols, Rows), "currency")
                    Case Else
                        Lst.ListSubItems.Add Text:=IIf(IsNull(Fields(Cols, Rows)), Empty, Fields(Cols, Rows))
                    End Select
                Next
            Next
        End With
        'ci-dessous
        .ListItems(1).Selected = False
        Set .SelectedItem = Nothing
    End With
End Sub
 

Piment

XLDnaute Occasionnel
Dernier message pour aujourd'hui, bonne nuit à tous .... 😴
VB:
Sub Load_Listview(Fields)
Dim Rows, Cols, Lst
' on charge la listview avec les données récupérées par le get_fields
    With Me.ListView_List_Fleurs
        With .ListItems
            .Clear
            For Rows = 0 To UBound(Fields, 2)
                Set Lst = .Add(, , Fields(0, Rows))
                For Cols = 1 To UBound(Fields, 1)
                    Select Case Cols
                    Case 5, UBound(Fields, 1) ' les champs 4 et max sont des euros
                        Lst.ListSubItems.Add Text:=Format(Fields(Cols, Rows), "currency")
                    Case Else
                        Lst.ListSubItems.Add Text:=IIf(IsNull(Fields(Cols, Rows)), Empty, Fields(Cols, Rows))
                    End Select
                Next
            Next
        End With
        'ci-dessous
        .ListItems(1).Selected = False
        Set .SelectedItem = Nothing
    End With
End Sub
Génial!!!!! énorme merci. Je vais pouvoir aller me coucher tranquillement. Merci encore.
Bonne nuit à tous.
 

Discussions similaires

Réponses
69
Affichages
4 K
Réponses
12
Affichages
311

Statistiques des forums

Discussions
312 209
Messages
2 086 274
Membres
103 168
dernier inscrit
isidore33