Diviseur=0

Résolu
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. 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
    1. merci à vous
      lorque j'exécute le programme ça me met comme message erreur de compilation end if sans bloc if
  2. 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
    1. 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
  3. 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
    1. 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
      1. oui là le programme marche merci à toi l'ami