IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Question VBA [Débutant(e)]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut Question VBA
    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 !

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Ajoute l'option indispensable :

    tout en haut de ton code ..

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 20
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    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 ?")
    En ligne 2 ne pas déclarer nombre
    en ligne 4, Il faut remplacer nb par nombre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub exo23()
    Dim  categorie As String, prix As Single
    categorie = InputBox("Désirez-vous faire des photocopies couleur ou nb ?")
    nombre = InputBox("Combien de photocopies désirez-vous faire ?")

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par didivo67 Voir le message
    ...
    En ligne 2 ne pas déclarer nombre
    ...
    pourquoi ? il faut déclarer toutes les variables !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut
    J'ai trouvé, c'était simple en fin de compte, j'ai confondu nb (noir et blanc) et nombre à la ligne 4, comme l'a souligné didivo67. Et j'ai enlevé la déclaration du prix, qui n'est pas utile (je pense que c'est ça que tu voulais dire didivo67 ?), en tout cas merci à toi et bbil pour la rapidité de la réponse !

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par horgon22 Voir le message
    ... Et j'ai enlevé la déclaration du prix, qui n'est pas utile ..
    Citation Envoyé par bbil Voir le message
    pourquoi ? il faut déclarer toutes les variables !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Questions VBA, WORD
    Par jeje644 dans le forum VBA Word
    Réponses: 3
    Dernier message: 15/04/2014, 18h45
  2. [AC-2007] question VBA - MSSQL
    Par rogerfon dans le forum VBA Access
    Réponses: 0
    Dernier message: 18/05/2011, 17h49
  3. [XL-2003] Petite question VBA : fonction worksheet_change
    Par Airone784 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 10/10/2009, 00h10
  4. [AC-2007] Question VBA access --> Débutant
    Par flolebreton dans le forum VBA Access
    Réponses: 7
    Dernier message: 20/05/2009, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo