XL 2016 Rechercher valeurs triées pour mon combobox

Nicolaroute

XLDnaute Nouveau
Bonjour à tous, et toutes.
Aujourd’hui, je me retrouve bloqué, apres avoir trié dans ma feuille "Articles" , les articles de son fournisseur avec un combobox1,
Je n'arrive pas à retrouver ces articles triés dans une autre combobox2.
Si je sélectionne la plage et lui donne un nom, je retrouve tous les articles dans mon combobox2.
j'ai essayé cette piste:

Voici le code que j'utilise :
Private Sub Bon_de_commande1_Initialize()
Quantite = Format(CDbl(Controls("quantite" & n).Value), "##,##0,00")
If Ref_Four <> "" Then ' combobox1
Dim Tab1() As Variant
With Sheets("Articles")
Tab1 = .Range("B1:B" & .Range("B1700").End(xlUp).Row).Value
End With
liste_ref.List = Tab1 'combobox2
End If
End Sub

Je vous remercie pour votre aide.
 

herve62

XLDnaute Barbatruc
Bonjour
Avec le fichier ce serait mieux car là il faut tout deviner de tes variables et il y a erreur sur "controls" donc pas testable
 

Nicolaroute

XLDnaute Nouveau
Oui bien sur, se serait l'idéal!!
En fait, je cherche toujours en améliorant mon fichier pour chaque modification .
Je pensais que le code suffirait!
Voici mon fichier exemple, avec beaucoup d’approximations !!
 

Fichiers joints

herve62

XLDnaute Barbatruc
Bonsoir
En fait il faudrait la "notice" d'utilisation principalement pour le début car nous ne sommes pas dans ton environnement et donc
QU'est ce que je fait pour démarrer ? ... et ensuite ?
Dans ta sub Initialize que veux tu alimenter dans tes combo ??
Quand les opérations de saisie ou recherches seront détaillées , je pense y voir plus clair pour la suite
Enfin , même dans mon repertoire , bug à : chemin_fichier = ThisWorkbook.Path & "\numerotation.txt"
quel est ce fichier txt ?
 

Nicolaroute

XLDnaute Nouveau
Ok, Bonjour Hervé.
Le fichier s'ouvre sur la feuille Bon de commande, va chercher le N° de Bon de commande, dans un fichier text, même dossier: numérotation.
Tu ne l'as pas, j'aurais du le mettre.
L'Userform s'affiche, je choisi le fournisseur ref_Four, ensuite ses articles sont affichés, triés dans Feuille articles.
Et c'est là qu'arrive mon souci, je ne trouve pas dans le list_ref les articles de ce fournisseur. ( feuille articles colonne B triée.)
Voilà, j'espère que tu peux résoudre cette recherche. Merci.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
À quoi sert cette procédure ordinaire Bon_de_commande1_Initialize ? Elle n'est invoquée nulle part !
Évitez d'utiliser le '_' dans des noms, car il sert de séparateur dans les noms de procédures de prise en charge d'évènements entre le nom de l'objet générateur d'évènement et le nom de l'évènement, c'est à dire entre un nom trouvé dans le liste de gauche qui surmonte la fenêtre de code et un autre nom trouvé dans celle de droite. Dans tout module de la rubrique Feuilles, vous avez par exemple dans la liste de gauche un générateur d'évènement qui s'appelle toujours UserForm, quel que soit le nom de type que vous lui avez donné. Lorsqu'il est est sélectionné, celle de droite vous propose les noms des évènements qu'il décrète. En y cliquant sur Initialize ça vous installe un modèle de procédure UserForm_Initialize.
 

Nicolaroute

XLDnaute Nouveau
Ok, je ne savais pas; je vais faire les modifications sur tout l'ensemble des Noms, pour l'userform Initialize aussi.
Cela sans doute débloquer ma Combolist.
Je vous tiens au courant et renvoie le fichier à jour.
 

herve62

XLDnaute Barbatruc
Bonjour
Je suis sur ton fichier ; ta méthode ??? dans ta feuille en final toutes tes lignes sont masquées et tu tries un tableau avec une col. hors tableau !!
là j'ai juste modifié pour alimenter ta combo , donc supprimé ton tri remplacé par un IF compare pour mettre dans ta liste
 

Fichiers joints

Dernière édition:

Nicolaroute

XLDnaute Nouveau
Bonjour Hervé62,
J'ai regardé ton fichier et modifié quelques lignes commandes qui servaient à rien. Amélioré la copie dans le Bon de commande
La recherche "Articles" est presque bonne!!, en fait , il me faut absolument dans le textBox1 copier la désignation de l'article choisi colonne B
Pourquoi: en fait, quelques fois, il me faut le modifier pour le copier dans mon bon commande, et le recopier dans sa base Articles.
La difficulté: tu vas sans doute pouvoir me dépanner, de copier dans la Textbox la désignation de l'article " Liste_ref" choisi colonne B et ensuite le copier dans sa case et sur le bon de commande , bouton ajouter.

Je te renvoie deux fichiers, numerotation.text et le bon de commandeHD
Et merci d'avance.
 

Fichiers joints

Nicolaroute

XLDnaute Nouveau
Bonjour.
À quoi sert cette procédure ordinaire Bon_de_commande1_Initialize ? Elle n'est invoquée nulle part !
Évitez d'utiliser le '_' dans des noms, car il sert de séparateur dans les noms de procédures de prise en charge d'évènements entre le nom de l'objet générateur d'évènement et le nom de l'évènement, c'est à dire entre un nom trouvé dans le liste de gauche qui surmonte la fenêtre de code et un autre nom trouvé dans celle de droite. Dans tout module de la rubrique Feuilles, vous avez par exemple dans la liste de gauche un générateur d'évènement qui s'appelle toujours UserForm, quel que soit le nom de type que vous lui avez donné. Lorsqu'il est est sélectionné, celle de droite vous propose les noms des évènements qu'il décrète. En y cliquant sur Initialize ça vous installe un modèle de procédure UserForm_Initialize.
 

Nicolaroute

XLDnaute Nouveau
Bonjour , Excusez moi j'ai zappé votre question.
j'ai revu mon fichier, ma difficulté du jour , c'est de retrouver suite au filtre des articles la désignation dans mon textbox1
la valeur de mon choix code article combobox liste_ref,.
En effet, je dois souvent rectifier la désignation avant de la copier dans mon bon de commande et de la recopier aussi dans sa cellule d'origine. Bouton Ajouter.
je vous envoie mon fichier.
merci pour votre aide.
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Bonjour.
Il y a toujours une Sub Bon_de_commande1_Initialize qui ne sert à rien.
Si vous voulez une procédure qui s'exécute au chargement du Bon_de_commande1, elle doit s'appeler UserForm_Initialize et pas autrement.
 

Nicolaroute

XLDnaute Nouveau
Entendu, je l'ai effacée et c'est vrai quelle servait à rien cette procédure !
J'ai pris plaisir à construire ce bon de commande , ne trouvant rien comme modèle .
Je trouve les codes d'ici et là, en les modifiants pour mes besoins.
malgré l'achat du Livre VBA pour les Nul, je me sens impuissant sur ma derniere requête.
dernier exemple , j'ai trouvé ce fichier CBxLCtlA, je suis pas certain que cela me dépanne !!
Mais là!! je me demande si je dois poursuivre !!
 

Dranreb

XLDnaute Barbatruc
Vous devriez clarifier vos tableaux en mettant des titres plus explicites "Code Art" ou "Code Four" parce que là on ne sait pas de quoi il s'agit. Séparez la désignation et l'unité dans des colonnes distinctes du tableau Articles.
Renommez vos modules Feuil1 en WshBonCmd, Feuil3 en WshFour, Feuil4 en Wsh WshHisto, Feuil5 en WshFinal et Feuil6 en WshArt.
Ça sera bien plus facile de s'y retrouver. Et tant qu'à faire corrigez les noms des tableaux en mettant "Tab" suivi des même suffixes.
 
Dernière édition:

herve62

XLDnaute Barbatruc
Bonjour , salut Dranreb
Oui c'est vrai , j'ai eu un peu de mal à me retrouver
-----------
Si j'ai bien compris cela doit donner çà dans le fichier , sinon me préciser
J'ai mis en auto la hauteur de ligne (code) dans le BdC sinon c'était pas joli
Pour l'instant je ne vais pas plus loin avant que ce soit Ok pour toi ... mais il y a encore qq points à améliorer
faudra aussi vérifier le format de tes fournisseurs extraits de l'onglet avec ceux qui sont dans la feuille article
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
On peut utiliser plusieurs objets ComboBoxLiées s'appuyant sur des tableux différents dans un même UserForm, à condition qu'ils prennent en charge des ComboBox différentes ou qu'ils ne soient pas actifs en même temps.
 

Nicolaroute

XLDnaute Nouveau
Hervè62, Dranreb,

Voilà un joli coup de pouce à mes souhaits!!
Hervé, le fichier que vous m'avez envoyé correspond bien à mes exigences.
me voilà tiré d'affaires !!!
Merci à tous les deux, plus qu'à fignoler.. à bientôt, sans aucun doute !!
 

herve62

XLDnaute Barbatruc
C'est plus que fignoler .... faut que tu révises 1 par 1 les noms fournisseurs col C pour avoir idem Articles col E
car pour cetains Four. , il n'y avait rien dans la liste Ref. CAR .... parfois , reste un blanc en fin du mot
ex : clique sur Destombe en C12 , puis clic dans la barre de formule , tu vas voir que ton curseur se met après un blanc du ES donc faut sup.
ensuite toi en E99 articles fait idem > le curseur est bien collé au S donc DESTOMBES + blanc pour la string ce n'est pas pareil que DESTOMBES tout court !!!
J'ai vu ça en faisant du 'pas à pas' dans la Sub qui alimente , j'avais bien les 2 noms identiques mais rien dans la box ??? comme je connais ce genre de 'bêtise' j'ai vite compris !!
 

Nicolaroute

XLDnaute Nouveau
Entendu, je vais copier coller ma liste fournisseurs et Rechercher/ sélectionner et remplacer les noms correspondant dans ma feuille articles..
j'ai vu ça !! c'est bon.
je vais également suivre tes conseils à la lettre en renommant les combos, les feuilles etc...
Merciiii..
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas