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 :

gérer les divisons par 0


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Par défaut gérer les divisons par 0
    Bonjour ,
    j'ai un probleme je n'arrive pas à gérer un pb de division par 0.

    je vous explique:

    je crée 2 tableaux, je stock dans ces 2 tableaux des valeurs.
    lorsque j'execute mon programme quand le tableau du dénominateur arrive à la valeur "0" il y a une erreur.
    j'ai essayé d'utiliser le NULL mais sa ne marche que lorsqu'il est déclaré en variant
    alors que le résultat de ma divison et mis dans une variable de type Long.

    comment faire ????
    Ps si j'indique la conditon que si mon dénominateur =0 alors le dénominateur = à un chiffre réel sa marche mais bon c'est du bricolage.
    voici le code:



    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
     
     
    Dim var As Variant
    var = Null
    Dim Tab_pm_dif() As Long, Tab_pm_dif1()
     
    dim tdif as Integer, tdif1
     
     
    '************************************* Dans le cas ou le dénominateur est égal à 0**************************
     
    If Tab_pm_dif1(tdif1) = 0 Then
     
     
    'bricolage
    Tab_pm_dif1(tdif1) = 1
     
    'sinon j'aurais voulut sa
    Tab_pm_dif1(tdif1)= var
     
    End If
    '************************************************************************************************************
     
     
     
     
     
    resultat_atrsr = ((1 - (Tab_pm_dif(tdif) / Tab_pm_dif1(tdif1))) * 100)

    PS : j'ai utiliser les balises Codes

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Tu veux faire quoi au juste, car une division par zéro, on ne peut pas un point c'est tout.

    Tout ce que tu peux faire c'est empêcher l'instruction de divison de se réaliser, mais qu'espère tu comme résultat de ta division dans ce cas.


  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je ne sias pas de quoi je me mele
    moi je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Tab_pm_dif1(tdif1) = 0 Then
    resultat_atrsr = 0
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    resultat_atrsr = 0
    ou resultat_atrsr = 999999999999.

    A voir.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Par défaut
    je voudrais que ma variable résultat m'indique que la valeur n'est pas bonne c'est a dire dans la cellule un indicateur comme quoi le dénominateur =0.
    genre dans ma cellule qui va contenir le résultat de la variable résultat il y aura NULL.

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je n'ai pas encore l'expérience voulue pour les declarations de variable mais est-ce que ça ça passerait

    resultat_atrsr = format(0 ,"null")
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/08/2011, 13h21
  2. [2008] Gérer les accès par client
    Par pierick dans le forum SSAS
    Réponses: 4
    Dernier message: 05/07/2011, 14h21
  3. [OL-2003] Gérer les categories par VBA
    Par Wanaka dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 02/11/2010, 16h16
  4. Gérer les langues par l'adresse
    Par pierrot92130 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 25/03/2009, 22h09
  5. Gérer les évènements VBA par programmation
    Par gbuxo dans le forum VBA Access
    Réponses: 14
    Dernier message: 09/05/2006, 11h13

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