Module qui donne prix en fonction du nom de produit tapé

Fermé
Utilisateur anonyme - 25 nov. 2019 à 15:38
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 25 nov. 2019 à 15:44


Bonjour,

J'aimerais créer un module où dès que je rentre un nom de catégorie (par exemple "A-34") et bien ça m'affiche le prix que moi je veux
Sachant que j'ai un tableau à 2 colonnes (colonne produit, colonne prix)
J'aimerais mettre des InputBox et des MsgBox et je réfléchissais à mettre une fonction Array

j'ai tenté ça comme début mais je ne sais pas...:

Sub Px()
Dim Prix As Double
Prix = Array("B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9")
MsgBox ("le prix du produit est " & Prix)

End Sub

en gros j'ai une liste de produit qui va des cellules A2 à A9 et une liste de prix qui va des celulles B2 à B9 et j'aimerais un inputbox où dès que je rentre le nom du produit et bien que j'ai un MsgBox avec le prix


Qu'en pensez vous et comment auriez-vous procéder ?


Configuration: Windows / Chrome 78.0.3904.108

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
Modifié le 25 nov. 2019 à 15:59
Bonjour Coronae, bonjour le forum,

Qu'est-ce déclencherait le lancement de l'InputBox ?

[Édition]
En double-cliquant sur une cellule avec le code ci-dessous :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au double-clic
Dim NP As Variant 'déclare la variable NP (Nom de la Pièce)
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter a ton cas)
TV = Range("A1").CurrentRegion 'définit le tableau des valeurs TV
NP = Application.InputBox("Tapez le code de la pièce.", "CODE", Type:=2) 'définit le nom de la pièce NP
If NP = False Or NP = "" Then Exit Sub 'si bouton [Annuler] ou non renseigné sort de la procédure
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I su tableau des valeurs (en partant de la seconde)
    If TV(I, 1) = NP Then 'condition : si NP correspond a la donnée ligne I colonne 1 du tableau des données TV
        MsgBox TV(I, 2) 'message affichant la donnée en ligne I colonne 2, le prix
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub


0