Recherche en Userform
Comme je disais dans mon précédant message je préfère utiliser les USF dans mes projets.
Je sais que dans un tableur il existe la "rechercheV" mais dans un USF je voudrai faire une recherche en entrant une référence d'un article pour avoir le libellé correspondant.
Quelqu'un pourrait-il m'aider à trouver la solution.
Merci d'avance
Amicalement
Noel
36 réponses
L’objectif est d’effectuer une recherche dans un USF pour convertir une référence d’article en son libellé, analogue à la fonction RECHERCHEV d’un tableur. Des réponses évoquent des solutions telles que Range.Find ou VLOOKUP via des macros, ainsi que des exemples de remplissage de combobox et d’usage de plages nommées. Plusieurs participants signalent une incompatibilité sur Mac et une erreur 380 liée à la propriété RowSource, et soulignent que des références numériques pures peuvent poser problème. En cas de besoin, des détails techniques et des exemples concrets, notamment autour de VLookup et Range.Find, complètent le débat avec des démonstrations et des méthodes alternatives pour lier références et libellés.
-
Bonjour,
recherche ok:
fichiers modifies pour combobox
https://www.cjoint.com/c/CHtko6oT6nY
https://www.cjoint.com/c/CHtkpwLcQC4
https://www.cjoint.com/c/CHtkpSWFIGa
Maintenant pourquoi je suis obligé de passer par la fermeture de l'Usf et le réouvrir si vous pouvez me donnez la réponse se serait sympa.
Si j'ai compris votre soucis, il faut reecrire la liste de la combobox a chaque fois que vous entrez un nouvel article.
fait pour celui_ci https://www.cjoint.com/c/CHtkHsspb7h
Foo, dans son exemple, reecrit la listview a chaque entree
A+ -
Bonjour à tous,
Bonjour Foo et f894009,
f894009, Je pense t'avoir fait remarquer comme je travaille sous MAC "RowSource" ne fonctionne pas sous ce système.
Quant à Foo le projet que tu m'a expédiè me donne une erreur de compilation.
Je pense avoir résolu mon problème de recherche. Je ne voyais pas dans la liste de références mes articles entrés. J'ai contourné le problème par "Unload me et show.
A la suite de quoi je vois mes articles entrés.
Maintenant pourquoi je suis obligé de passer par la fermeture de l'Usf et le réouvrir si vous pouvez me donnez la réponse se serait sympa.
Amicalement
Noel -
Bonjour
Voila le principe de sortie de stock
http://cjoint.com/?3Hstf0uE3pI
A+
Maurice -
Bonjour,
fichiers separes:
https://www.cjoint.com/c/CHsjepZ1H4U
https://www.cjoint.com/c/CHsjeVjgiiq
https://www.cjoint.com/c/CHsjfsMONeL
A+ -
Re Maurice,
J'ai essayé ton code VBA, je suis désolé de te dire que rien ne fonctionne.
@+
Amicalement
Noel -
Bonjour Maurice,
Ma colonne Ref dans mon USF dans la page creer sert comme cela indique à créer un artcle.
Dans la page stock & Facture me sert à vérifier le stock et à remplir une feuille qui est nommée "Facture".
C'est vrai que mon projet n'est pas propre mais je suis prêt à accepter tout critique constructive.
@+
Amicalement
Noel -
Bonjour à tous,
Bonjour f894009,
Je veux bien chercher un peu. C'est très bien ainsi.
Mais je n'arrive pas à télécharger le fichier par le lien ci-dessus https://www.cjoint.com/c/CHrsjCIYXKr cela me donne une feuille noire.
@+ -
Bonjour Foo,
Cfn3:
trois methodes de recherche, plus optimisations diverses:
https://www.cjoint.com/c/CHrsjCIYXKr
Pour vos calculs de stocks, vous allez avoir quelques soucis, mais je vous laisse chercher un peu.
A+ -
Bonjour
deja la base est pas prope
ta colonne Ref elle sert a quoi ??
dans Usf
Private Sub UserForm_Initialize()
For X = 2 To Feuil1.Range("A" & Rows.Count).End(xlUp).Row
ListeArt.AddItem Feuil1.Range("A" & X)
Next
End Sub
Private Sub ListeArt_Change()
Nlig = ListeArt.ListIndex + 2
IntArtStc.Value = Cells(Nlig, 2).Value
TextBox1.Value = Cells(Nlig, 3).Value
TextBox2.Value = Cells(Nlig, 4).Value
TextBox3.Value = Cells(Nlig, 5).Value
End Sub
A+
Maurice -
Re,
Au premier regard,
ce que je vous ai ecrit:
x = WorksheetFunction.VLookup(ListeArt, Worksheets("références").Range("A4:B" & derlig), 2) 'références c'est ma feuille
Ce que vous avez ecrit dans votre fichier:
x = WorksheetFunction.VLookup(RefSearch, Worksheets("références").Range("$A$4:$k$504" & derlig), 2) 'Intutilé Article
Cela ne risque pas de marcher!!!!!!!!!
Je continue
A+ -
Re,
Je recupere votre fichier et vous tient au courant.
A+ -
Re,
Je m'excuse j'ai oublié de transmettre mon fichier.
Voici le lien
https://www.cjoint.com/c/CHrkeYqxmKY
@+ -
Re,
Je te transmets une partie du projet avec lequel j'ai un souci.
1- Ajouter une ligne à la feuille références
2- Recherche dans le combovox ListeArt qui n'arrive pas à retrouver la référence dans la liste
3- Il y aurait-il une possibilité de dans "ListeArt" de faire en sorte qu'en entrant la 1ère lettre d'une des références dans la colonne "REF" qu'il puisse trouver toutes les références commençant par la lettre entrée, comme on le ferait dans un tableur avec les fonctions INSERTION/NOM/DEFINIR en utilisant le code Décaler et Equiv?
Merci de ton aide
@+
Amicalement
Noel -
Bonjour,
Sinon je peux poser mon projet dans DRoPBOX afin que tu puisse le récupérer car il fait près de 5M° Oui, car je ne comprend toujours pas votre soucis!!!
A+ -
Bonjour à tous,
Bonjour f894009,
Un peu tardivement, je m'en excuse.
Je vais essayer de mieux me faire comprendre.
En Colonne 1 = "Colonne "A"
En Colonne 2 = "Colonne "B" etc...
Lorsque je rempli une ligne par l'USF et quand je fais une recherche Tjrs dans l'USF. La zone de recherche en colonne "A" ne voit pas ma dernière entrée.
Mont but c'est de ne plus pouvoir accéder aux tableaux avec les données, si ce n'est qu'à l'ouverture du projet.
Je préfère cette solution pour que l'utilisateur n'aille pas trafiquer dans les tableaux.
Sinon je peux poser mon projet dans DRoPBOX afin que tu puisse le récupérer car il fait près de 5M°
@+
Amicalement
Noel -
Re,
Mais actuellement s'arrête à la colonne 2 mais je vais jusqu'à 11 colonnes pour les articles dont je veux pouvoir utiliser pour la gestions de stock. ????
Le 2 signifie que le libelle est cherche dans la deuxieme colonne de la selection ici colonne B
Je ne comprends pas votre demande!!!!!! -
Re,
Non dans la première colonne de la feuille Références
@+
Amicalement
Noel -
Bonjour,
Vos references sont dans plusieurs colonnes ?????
A+ -
Bonjour à tous,
Bonjour f894009,
Les références que je t'ai donné sont des exemples mais je pense que ce type de numérique ne seront pas des références utilisées. Ceci a été réalisé pour un essai.
Quant à l'adaptation de la plage de recherche, je pense que c'est fait avec Worksheets("références").Range("A4:K" & derlig), 2). Mais actuellement s'arrête à la colonne 2 mais je vais jusqu'à 11 colonnes pour les articles dont je veux pouvoir utiliser pour la gestions de stock.
@+
Amicalement
Noel -
Re,
Ces références ne sont pas visibles dans la liste. ?????
Comment remplissez vous votre combobox ????
Comme je suis en plein programmation j'ai crée des références tel que 111111,22222,88888, etc. Ce sont des references NUMERIQUES pas ALPHANUMERIQUES, donc il faut conserver:
x = WorksheetFunction.VLookup(CDbl(ListeArt), Worksheets("références").Range("A4:B" & derlig), 2) 'références c'est ma feuille
parce que la valeur recuperee d'une comboxbox est une chaine de caracteres, ex: "11111" pour votre, cas ce n'est pas un nombre.
Une question: vous avez adapte la plage de recherche ou pas ??????
A+
- 1
- 2