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.
 

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 !!
 

Pièces jointes

  • bon-de-commande exemple.zip
    391.6 KB · Affichages: 8

herve62

XLDnaute Barbatruc
Supporter XLD
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.
 

herve62

XLDnaute Barbatruc
Supporter XLD
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
 

Pièces jointes

  • bon-de-commande exempleHD.zip
    411.6 KB · Affichages: 5
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.
 

Pièces jointes

  • Fichiers Exemples.zip
    346.9 KB · Affichages: 7

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.
 

Pièces jointes

  • Fichiers Exemples.zip
    346.9 KB · Affichages: 5

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:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib