Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Déterminer prix unitaire en fonction des quantités vendues

coronae35

XLDnaute Nouveau
Bonjour,

Je vous sollicite car j'aimerais créer une fonction en utilisant Select Case qui me donne le prix unitaire facturé à un client, sachant que le
est dégressif en fonction des quantités vendues.
Si la quantité est inférieure à 100, le prix unitaire est de 0,5 €.
Si la quantité est comprise entre 100 et 200, le prix unitaire est de 0,3 €.
Si la quantité est supérieure à 200, le prix unitaire est de 0,2 €.

Pourriez-vous m'aider ?
J'aurais une colonne A avec par ligne le nombre de quantité vendue en fonction du client et en colonne B utiliser la fonction à créer via Select Case pour avoir le prix unitaire (soit 0,2 soit 0,3 soit 0,5€ en fonction de la quantité vendue donc)

Merci d'avance
 

Modeste geedee

XLDnaute Barbatruc
Bonsour® par formule simplement :
 

coronae35

XLDnaute Nouveau
Rebonjour Sylvanu,
Tout à fait, ça serait avec un module VBA et pas de formule Excel, vous êtes très aimable

Modeste, vous êtes aimable mais l'idée est de le faire via VBA mais en créant une fonction et en utilisant la fonction select case

un peu sur ce modèle là où cherche à calculer un prix TTC via prix HT (hors sujet bien évidemment, mais c'est pour vous montrer un exemple)

Function monttcase(pht As Double, cat As String) As Double
Select Case cat
Case "Luxe"
monttcase = pht * 1,33
Case Else
monttcase = pht * 1,2
End Select
End Function
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Coronae, j'ai écrit une fonction VBA en utilisant la fonction Select case :

VB:
Function PourCoronae(Quantité)
'Si la quantité est inférieure à 100, le prix unitaire est de 0,5 €.
'Si la quantité est comprise entre 100 et 200, le prix unitaire est de 0,3 €.
'Si la quantité est supérieure à 200, le prix unitaire est de 0,2 €.

    Select Case Quantité            ' Le paramètre à tester est Qauntité
        Case Is < 100               ' Si Quantité <100
            PrixUnitaire = 0.5      ' Alors PrixUnitaire = 0.5
        Case Is < 200               ' Etc Etc
            PrixUnitaire = 0.3
        Case Else
            PrixUnitaire = 0.2      ' Si aucun cas détecté alors PrixUnitaire = 0.3
    End Select
    
    PourCoronae = PrixUnitaire      ' Retour de fonction avec la bonne valeur
End Function
 

Pièces jointes

  • Coronae1.xlsm
    14.6 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Il eût été plus simple de dire que c'était un excercice didactique dès le départ.
L'approche n'est pas la même qu'avec un problème execl, car la solution dans votre énoncé est evidemment une approche XL et non VBA.
Je vous ferez aussi le module location de voiture.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…