Bonjour à tous,

je suis actuellement des cours de programmation informatique, et je débute sur VBA Excel. J'ai l'exercice suivant :

L’entreprise PrestoCopie est une société qui réalise des photocopies pour desentreprises. Elle facture ses prestations d’un forfait de 10 € pour les cent premières photocopies en noir et blanc et de 30 € pour les photocopies couleurs (même si la quantité est inférieure à 100 copies). Chaque photocopie suivante est facturée 0,05 € en noir et blanc et 0,20 € en couleur jusqu’à la 500 ème photocopies. Au delà, les tirages supplémentaires sont facturés respectivement 0,03 € pour le noir et blanc et 0,10 € pour la couleur.
1) Ecrire le programme qui calcule le montant à facturer au client en fonction du nombre de copies et du type de copie (N&B ou couleur). Ces deux informations sont saisies par l’utilisateur.

J'y ai répondu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub exo23()
Dim nombre As Single, categorie As String, prix As Single
categorie = InputBox("Désirez-vous faire des photocopies couleur ou nb ?")
nb = InputBox("Combien de photocopies désirez-vous faire ?")
 
If categorie = "nb" And nombre <= 100 Then
prix = 10
ElseIf categorie = "nb" And nombre > 100 And nombre <= 500 Then
prix = 10 + ((nombre - 100) * 0.05)
ElseIf categorie = "nb" And nombre > 500 Then
prix = 30 + ((nombre - 500) * 0.03)
ElseIf categorie = "couleur" And nombre <= 100 Then
prix = 30
ElseIf categorie = "couleur" And nombre > 100 And nombre <= 500 Then
prix = 30 + ((nombre - 100) * 0.2)
ElseIf categorie = "couleur" And nombre > 500 Then
prix = 110 + ((nombre - 500) * 0.1)
End If
 
MsgBox "Le montant de vos photocopies est de " & prix
End Sub

Cela ne fonctionne pas, les valeurs 10 et 30 ressortant quelque soit le nombre entré par l'utilisateur. Je ne comprends vraiment pas ou est mon erreur, tout me parait logique, est-ce que vous pourriez m'expliquer ?
Merci !