VBA
Bonjour à tous je viens vers vous car je ne sais plus comment faire, je suis sur vba et on me demande de créer un userform que je n'arrive pas à coder en entier je vous explique :
On me demande de faire un userform qui dans un combobox sélectionnera un code matiere et son appelation (ca j'ai fait) mais ensuite (et la j'y arrive pas
Ce que je n'arrive pas à faire c'est "d'extraire" en code vba les infos dont j'ai besoins qui se trouvent sur plusieurs feuilles et aussi de trouver les "prix mini" et prix maxi pour chaque produit.. si qqn peut m’éclairer j'espere que j'ai été clair mon fichier est joint il parlera de lui meme (le usf est créé )
Merci d'avance
je me suis trompé de fichier le revoila avec le userform désolé
Bonsoir
ci joint une proposition
je n'ais pas géré le fait que le fournisseur n'existerais pas dans la feuille fournisseur
a+
fred
Code ajouté a ton combobox1 _change :
Dim shTmp As Worksheet
Dim adresse
Set shTmp = Sheets.Add
shTmp.[A1] = Feuil3.[A1]
shTmp.[A2] = ComboBox1.Value
'filtre elboré qui copie les données utile dans une novuelle feuille temporaire
Feuil3.[A:C].AdvancedFilter Action:=xlFilterCopy, _
criteriarange:=shTmp.[A1:A2], CopyToRange:=shTmp.[B1]
'tri par ordre droissant de prix
shTmp.[B:D].Sort Key1:=shTmp.[D1], Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
'pour le prix mini
Set adresse = Feuil2.[A:A].Find(What:=shTmp.[C2], LookAt:=xlPart)
'mettre dans les texte box
TextBox2.Value = Feuil2.Cells(adresse.Row, "B")
TextBox4.Value = Feuil2.Cells(adresse.Row, "C") & " " & Feuil2.Cells(adresse.Row, "D")
'pour le plus cher
Set adresse = Feuil2.[A:A].Find(What:=shTmp.Range("C" & shTmp.[C65536].End(xlUp).Row), LookAt:=xlPart)
'mettre dans les texte box
TextBox3.Value = Feuil2.Cells(adresse.Row, "B")
TextBox5.Value = Feuil2.Cells(adresse.Row, "C") & " " & Feuil2.Cells(adresse.Row, "D")
'supression de la feuille temporaire
Application.DisplayAlerts = False
shTmp.Delete
Application.DisplayAlerts = True
Merci pour ta repobse mais j au passé toute mon aprem dessus et j ai reussi a ovtenir qqch de "satisfaisant" cela dit je note ton code precieusement et je l essaye demain merci