Division

momo78 -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour à tous,

j'ai un petit soucis j'essaye de faire une division et mon diviseur=0, lorsque je compile mon programme j'ai comme message "erreur d'éxécution '11' division par zéro"

merci

3 réponses

  1. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    bonjour

    C'est une erreur logique, tu dois faire le test avant sur ton diviseur pour qu'il ne soit jamais égal à zéro.
    0
    1. momo78
       
      comment proceder dans ce cas
      0
  2. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    Fais un test avant la division:

    Si diviseur = 0

    et force à 1 la variable diviseur si elle est égale à 0:

    alors diviseur = 1

    0
    1. momo78
       
      voici mon programme
      dim fon
      dim va
      fon=18
      va=18
      Sub calcul
      if fon-va<>0, then

      resul=15/(fon-va)

      end if
      end sub
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    et en l'écrivant comme ça ?
    Sub calcul()
    dim fon
    dim va
      fon=18
      va=18
      if fon-va<>0, then
        resul=15/(fon-va)
      end if
    end sub

    bonne suite
    0
    1. momo78
       
      ca n'affiche rien
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      re
      cette procedure n'affiche effectivement rien, puisqu'aucun afficghage n'est programmé
      elle se borne a calculer resul, qui au passage n'a pas été déclaré
      tu as deux possibilités
      1. ta procedure calcul affiche résul,
      tu ajoutes ceci aprèrs le calcul de resul (en changeant le nom de la cellule)
      Range("A1").value = resul
      2. ta procedure renvoie "resul" dans la feuille, dans ce cas, calcul doit etre declarée comme fonction
      Le plus simple est que tu expliques ce que tu attends exactement de cette procedure
      0