Division

Fermé
momo78 - 1 juin 2011 à 11:56
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 - 1 juin 2011 à 16:48
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

choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
1 juin 2011 à 12:00
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
comment proceder dans ce cas
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
1 juin 2011 à 12:03
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
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
1 juin 2011 à 15:56
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
ca n'affiche rien
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
1 juin 2011 à 16:48
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