Diviseur=0

Résolu
omyo -  
 omyo -
Bonjour,
j'aurais besoin de votre aide,
voici mon problème

gar= 3
var=0

gar/var = erreur d'éxécution '11' division par zéro
est ce qu'il y aurait une solution pour faire marcher mon programme même si le var = 0

merci à vous

6 réponses

  1. Logitux Messages postés 111 Statut Membre 8
     
    Avec un try{} catch(){}
    0
  2. omyo
     
    svp je travaille sur Excel

    merci à vous
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour,

    je suppose donc que tu es sous VBA
    pour ton pb, il ne faut exécuter la division que si var est non nul

    if var <> 0 then  
      q = gar/var 
    else 
      a toi de voir ....
    end if


    bonne suite
    0
    1. omyo
       
      merci à vous
      lorque j'exécute le programme ça me met comme message erreur de compilation end if sans bloc if
      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re
    il doit y avoir autre chose avant ou après de mal écrit. Peux tu envoyer l'intégralité de ta procédure
    bonne suite
    0
    1. omyo
       
      desolé
      sub calculsequations
      For S= 1 to Max

      with Fi
      var= gr-gi
      gr=0.8 et gi=0.8
      gar=12
      if var<>0 then cells(12, 15)=gar/var
      else

      end if
      next S
      end Sub
      je suis débutant en vba

      merci à vous
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. omyo
     
    desolé
    sub calculsequations
    For S= 1 to Max

    with Fi
    var= gr-gi
    gr=0.8 et gi=0.8
    gar=12
    if var<>0 then cells(12, 15)=gar/var
    else

    end if
    next S
    end Sub
    je suis débutant en vba

    merci à vous
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re

    ton code correct ... pour le compilateur

    Option Explicit
    
    Sub calculsequations()
    Dim Max As Long, s As Long
    Dim var, gr, gi, gar
    Dim Fi As Worksheet
    For s = 1 To Max
      With Fi
        gr = 0.8
        gi = 0.8
        var = gr - gi
        gar = 12
        If var <> 0 Then
          .Cells(12, 15) = gar / var
        Else
          ' rien
        End If
      End With
    Next s
    End Sub


    quelques remarques
    RQ0. l''erreur end if sans bloc if vient de With Fi .... sans end with. Le "else rien" n'est pas necessaire
    RQ1. Option explicit en début de module t'oblige a déclarer tes variables
    RQ2. Dim permet de déclarer les variables, et d'en préciser le type (Long est un type d'entier)
    RQ3. Je n'ai pas précisé le type de var, gr, gi, gar, à toi de le faire
    RQ4. Vu ton code, Fi a l'air d'être une variable Feuille, je l'ai déclaré ainsi
    RQ5. conséquence le Cells(12,15) provient de la feuille Fi d'où le '.' devant
    RQ6. je ne vois vraiment pas ce que cette procedure est censée faire. gr, gi, var, gar sont en fait des constantes, et ta procedure ne peut s'appliquer qu'avec ces valeurs, en particulier var vaut 0 donc ..... Si tu pouvais expliquer le but recherché, on pourrait peut être t'aider plus efficacement.

    bonne suite
    0
    1. omyo
       
      oui là le programme marche merci à toi l'ami
      0