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

Logitux Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   8
 
Avec un try{} catch(){}
0
omyo
 
svp je travaille sur Excel

merci à vous
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
omyo
 
merci à vous
lorque j'exécute le programme ça me met comme message erreur de compilation end if sans bloc if
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
omyo
 
oui là le programme marche merci à toi l'ami
0