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

  1. #1
    Candidat au Club
    Homme Profil pro
    Service client
    Inscrit en
    mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Service client

    Informations forums :
    Inscription : mars 2019
    Messages : 3
    Points : 3
    Points
    3

    Par défaut Erreur addition et division

    Bonjour,

    Je suis tout nouveau sur le forum et débutant en vbs. Tout d'abord je vous met mon code et ensuite l'explication de ce que je voudrais obtenir :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    dim facture
    facture=inputbox("Date de la facture")
     
     
    dim reception
    reception=inputbox("Date de réception du dossier")
     
    If DateDiff("d",facture,reception)<42 then
     
       dim na
       na=inputbox("Consommation journalière n-1 sur la même période")
     
       dim nb
       nb=inputbox("Consommation journalière n-2 sur la même période")
     
       dim nc
       nc=inputbox("Consommation journalière n-3 sur la même période")
     
       dim moyennej
       moyennej=(na+nb+nc)/3
     
     
       dim jours
       jours=inputbox("Nombre de jours sur facture comportant fuite")
     
       dim moyennea
       moyennea= moyennej*jours
     
       dim conso
       conso=inputbox("Volume consommé de la facture comportant la fuite")
     
       dim eau
       eau=conso-2*moyennea
     
       dim ass
       ass=conso-moyennea
     
       msgbox"Volume eau à annuler = " eau "Volume assainissement à annuler = " ass
     
     
     
    else
    msgbox"Date de remise du dossier hors délais"
    end if

    Je voudrais que l'utilisateur renseigne 2 dates, si la différence entre ces 2 dates est inférieur à 42 jours on continue, sinon, un message s'affiche en disant que la date de remise du dossier est hors délais. Jusque là ça marche.

    Ensuite je voudrais que l'utilisateur renseigne 3 variables (na, nb et nc) qui peuvent être des nombres entiers, décimaux, nuls. Et enfin faire la moyenne de ces 3 valeurs (na+nb+nc)/3 pour la stocker dans une nouvelle variable (moyennej).

    Le soucis c'est que l'opération ne fonctionne pas, l'erreur est que au lieu de faire une addition j'ai l'impression que le programme concatène les 3 valeurs...

    Je ne sais pas si la suite du code est valable mais est ce que vous pourriez m'aider pour que l'opération de la moyenne fonctionne ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    juillet 2009
    Messages
    2 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 2 260
    Points : 5 366
    Points
    5 366

    Par défaut

    Bonjour et BIENVENU sur DVP

    Remplace les lignes 10 à 17 par ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       Dim na : na=CSng(Replace(inputbox("Consommation journalière n-1 sur la même période"), ".", ","))
       Dim nb : nb=CSng(Replace(inputbox("Consommation journalière n-2 sur la même période"), ".", ","))
       Dim nc : nc=CSng(Replace(inputbox("Consommation journalière n-3 sur la même période"), ".", ","))
    puis la ligne 38 par :
    msgbox "Volume eau à annuler = " & FormatNumber(eau, 2) & " Volume assainissement à annuler = " & FormatNumber(ass, 2), pour afficher les résultats à 2 décimales
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Candidat au Club
    Homme Profil pro
    Service client
    Inscrit en
    mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Service client

    Informations forums :
    Inscription : mars 2019
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    En remplaçant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       dim moyennej
       moyennej=(na+nb+nc)/3
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       dim moyennej
       moyennej=na/3 + nb/3 + nc/3
    La moyenne fonctionne avec des nombres entiers mais dès que je met des virgules ça ne fonctionne plus

  4. #4
    Candidat au Club
    Homme Profil pro
    Service client
    Inscrit en
    mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Service client

    Informations forums :
    Inscription : mars 2019
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    Super ça marche très bien ! Merci beaucoup pour votre réactivité !

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

Discussions similaires

  1. Erreur dans une division
    Par santadrix dans le forum Excel
    Réponses: 6
    Dernier message: 23/03/2018, 21h24
  2. Erreur d'arrondi division
    Par wantstofly dans le forum MATLAB
    Réponses: 2
    Dernier message: 30/03/2013, 20h15
  3. [XL-2007] erreur lors de division
    Par mouss4rs dans le forum Excel
    Réponses: 2
    Dernier message: 07/03/2012, 12h34
  4. erreur 2007 de division par 0
    Par babou466 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/03/2009, 14h52
  5. Erreur de division par 0 (MMX_FLAG)
    Par Harry dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 23/09/2005, 11h47

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