Microsoft 365 ComboBox en cascades Liés

Piment

XLDnaute Occasionnel
Fanch55, Jean-Marie, TooFatBoy, Dranreb, le Forum, bonjour à tous,
Fanch55, comme demandé, j'ouvre ce fil afin de finaliser le fichier.
J'ai intégré tes codes dans mon fichier.
Si tu veux bien, j'ai quelques interrogations :
1) Option Explicit a été neutralisé: cela permet de ne pas avoir besoin de déclarer de variable : exact ?
2) Sv = cbx_Catalogue sert à quoi ?
3) Tu as rajouté dans certaine sub, par exemple : "Where Couleur is not Null: pourquoi ?
4) tu as rajouté une Sub ("Reorg_Controls"), et j'en déduis (à tord ou à raison) que l'on réorganise les divers contrôles à l'ouverture de l'Usf,
5) Apparemment il y a un souci sur le comboBox Catalogue: si je choisis "Rose" dans catégorie, le ComboBox "Catalogue" ne devrait me proposer que les catalogues liés. Or il affiche également le "Catalogue Groove". Sauf erreur de ma part, il n'y a pas de "Catalogue Groove" lié à la "Catégorie" Rose.
Merci à toi pour ton aide précieuse.
 

Pièces jointes

  • Test Magasin Essaie 1 (1) Tableau.xlsm
    194.9 KB · Affichages: 32

ChTi160

XLDnaute Barbatruc
Bonsoir Claude ,le Fil ,le Forum
Je pense que la méthode employée recherche les mots qui contiennent "Rose" d'où la Prise en compte de "Rose Branchue" ou de La Couleur "Rose"
Je peux me tromper
Jean marie
 
Dernière édition:

Piment

XLDnaute Occasionnel
Fanch55, Jean-Marie, TooFatBoy, le Forum, bonjour à vous.
Jean-Marie, j'ai pensé comme toi, mais sans certitude.
Comme je ne sais pas comment affiner le code, il va me falloir contourner le problème.
Merci à toi de me suivre encore.
Bonne
 

Oneida

XLDnaute Impliqué
Bonjour a vous tous,
J'ai regarde hier le fichier et le souci vient d'une requete Sqlike ald Sqleq
Code modifie:
VB:
Sub Charge_Catalogue()
sv = Cbx_Catalogue
    Get_Fields Cbx_Catalogue, _
        " select distinct `Catalogue` from " & Get_Table([Tbl_Liste_Fleurs]) & _
        " Where " & Sqleq("Catégorie", Cbx_Catégorie) _
        & "  and `Catalogue` is not Null" _
        & " order by `Catalogue`"
    Cbx_Catalogue.AddItem Empty, 0 'on ajoute la valeur vide au Combobox en 1ère ligne
    Cbx_Catalogue = sv
End Sub
Le probleme est le meme dans l'uf Commande. Le code est different.
Code modifie
Code:
Private Sub ComboBox1_Change()
    ComboBox2.Clear
    Get_Fields ComboBox2, _
        " Select Distinct Catalogue from " & Get_Table([Tbl_Liste_Fleurs]) & _
        " where ucase(Catégorie) =ucase('" & ComboBox1 & "')" & _
        " order by Catalogue"
    Filter_Me

End Sub

Par contre il y a un probleme de syntaxe dans le requete SQL pour enregistrer. Ai pas encore trouve
 
Dernière édition:

job75

XLDnaute Barbatruc
Si vous n'êtes pas à l'aise avec les requêtes SQL utilisez cette macro classique :
VB:
Sub Charge_Catalogue()
    Dim cible$, d As Object, tablo, i&, x$
    Cbx_Catalogue.Clear
    If Cbx_Catégorie.ListIndex = -1 Then Exit Sub
    cible = LCase(Cbx_Catégorie)
    Set d = CreateObject("Scripting.Dictionary")
    d.CompareMode = vbTextCompare 'la casse est iggorée
    tablo = [Tbl_Liste_Fleurs[Catégorie]].Resize(, 2) 'matrice, plus rapide
    For i = 1 To UBound(tablo)
        If LCase(tablo(i, 1)) = cible Then
            x = tablo(i, 2)
            If Not d.Exists(x) Then d(x) = "": Cbx_Catalogue.AddItem x
        End If
    Next
End Sub
 

Pièces jointes

  • Test Magasin Essaie 1 (1) Tableau.xlsm
    199.7 KB · Affichages: 7

Piment

XLDnaute Occasionnel
Bonjour Oneida, merci à vous de m'apporter de l'aide. J'ai apporté les modifications que vous m'avez proposé. Tout fonctionne. C'est pourquoi je ne comprends pas le problème de syntaxe que vous soulevez. Je reste dans l'attente.
Job75, merci pour ta solution d'une macro classique. Maintenant j'ai le choix.
 

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
juste en passant
je perçois un surplus de ressources dans la conception
et cela que ce soit dans le userform commande ou tout les autres qui nécessite des combo en cascade

perso je me pose une question (peut être tout bête mais j'en doute)

des combo en cascade c'est bien mais toutes sont -elles utiles sachant que nous avons un listview

en effet
si je choisi
  1. la catégorie
  2. le catalogue
  3. le choix des fleurs
la listeview devrait être réduit a 2 lignes maxi d’après ce que je vois du tableau dans "Elements fleur"
c'est a dire que les ligne devraient se résumer à aucun ou GB ou MB ou 2 des 3 voir qu'un
alors pourquoi un tel ramdam de cascade jusqu'a combobox6
c'est absurde et inutile
ou alors supprimer le listview de l’équation
car si on selectionne de la combo 1 à 6 on a une seule ligne forcement

Donc!!!
perso je supprimerais les combos inutiles(et tout ce qui va avec )
j'utiliserais un listbox à la place du listview qui pose problème selon les versions excel
et voila c'est tout

à méditer
 

TooFatBoy

XLDnaute Barbatruc
alors pourquoi un tel ramdam de cascade jusqu'a combobox6
Je n'ai pas vu le dernier fichier, mais d'après ce que tu expliques je comprends qu'il y a (ou à peu près) une ComboBox par colonne de la ListView.

Si c'est bien ça et que c'est ça qui te chagrine, je ne vois pas bien pourquoi vu qu'on n'est peut-être pas obligé de remplir toutes les ComboBox : une sélection d'une ligne de la ListView doit tout remplir, je suppose.
 

patricktoulon

XLDnaute Barbatruc
re
du genre comme ça

pour les tests et ne pas être influencé par des codes existants
j'ai viré tout les codes de l'userform

la cascade se f"ait sur les 3 combos

ensuite un event click sur la listbox pour préremplir les controls en dessous et envoyer (je suppose) dans
une des feuille commande

au départ à l'ouverture du userform commande la listbox est complète
1709034523395.png


ensuite
à la sélection des combos la liste se réduit
demo.gif


reste plus qu'a cliquer sur la liste box pour envoyer les données dans les controls en dessous
et ajouter les quantités blablabla
un bouton pour envoyer dans la feuille concernée les données
terminé
 

Pièces jointes

  • Test Magasin Essaie 1 (1) Tableau.xlsm
    151.9 KB · Affichages: 11

Piment

XLDnaute Occasionnel
Patrick bonjour, TooFatBoy:
Patrick, je partage ton analyse. Je suis entrain de faire les tests et je me suis rendu compte de la chose. Je viens de finaliser l'Usf "Vente", et comme vous pourrez le voir, dans le fichier ci-dessous, j'ai déjà rectifié le tir sur cet Usf. Je vais reprendre l'Usf "Bon de commande" dans ce sens.
Merci pour tes remarques judicieuses.
Dans le même fil, j'aimerais aussi que dans l'Usf "Alimenter Catalogue", si la fleur existe, lors de la saisie de son nom, la Couleur, le Tpe de bouton affiche les données qui existent. Si la fleur n'existe pas, on l'ajoute après avoir saisi tous les champs. C'est possible?
 

Pièces jointes

  • Test Magasin Essaie 1 (1) Tableau.xlsm
    221.3 KB · Affichages: 6

Statistiques des forums

Discussions
315 093
Messages
2 116 137
Membres
112 668
dernier inscrit
foyoman