IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

erreur suite divisions [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut erreur suite divisions
    Bjr,

    le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CelDonnee.Offset(0, 4).Value = htel / CelDonnee.Offset(0, 8).Value
    If CelDonnee.Offset(0, 4).Value > "0,2" Then CelDonnee.Offset(0, 4).Interior.ColorIndex = 41
    Bjr,
    J'essaie de mettre en couleur les cellules dont le contenu est > à 20% mais le genre de division 0,13/1,96 donne un résultat tel 6,999999999 E-04 donc sup à 0,2 et de ce fait la cellule est colorée à tort alors que le résultat affiché est de 7,07%.
    Existe-t-il une parade ?
    Cdt

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If CelDonnee.Offset(0, 4).Value > 0.2

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    Une question un peu simpliste me vient à l'esprit... La couleur bleue ne perdure-t-elle pas dans ta cellule des suites du résultat d'un autre calcul?
    Essaye en "réinitialisant" la couleur avant, et surtout en virant les guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CelDonnee.Offset(0, 4).Interior.ColorIndex = xlNone
    CelDonnee.Offset(0, 4).Value = htel / CelDonnee.Offset(0, 8).Value
    If CelDonnee.Offset(0, 4).Value > 0.2 Then CelDonnee.Offset(0, 4).Interior.ColorIndex = 41
    EDIT : . pas , dans 0.2

  4. #4
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    bjr à tous les deux

    tjrs pareil malgrés le point à la place de la virgule

    exemple de divisions:
    n'a été colorée que le 7% (0,16 par 1,96)
    et je fais bien un clear avant de lancer





    3,372280093


    1,139930556

    0,07% de Traitement Cas Complexes
    0,58% de Lecture de notes
    62,11% de Tel
    8,53% de Pause
    8,36% de Hors Prod 0,453796296
    21,00% de Hors Tel 0,463148148 15 5,429155093

    2,922893519

    0,9921875

    0,00% de Traitement Cas Complexes
    1,92% de Lecture de notes
    56,38% de Tel
    8,85% de Pause
    15,63% de Hors Prod 0,810219907
    19,14% de Hors Tel 0,45875 11 5,184050926

    2,566828704


    1,413958333

    13,68% de Traitement Cas Complexes
    3,54% de Lecture de notes
    47,53% de Tel
    6,97% de Pause
    19,31% de Hors Prod 1,042939815
    26,18% de Hors Tel 0,376493056 12 5,400219907

    1,474155093

    0,137268519

    0,00% de Traitement Cas Complexes
    1,35% de Lecture de notes
    75,16% de Tel
    8,34% de Pause
    9,50% de Hors Prod 0,186412037
    7,00% de Hors Tel 0,163645833 11 1,961481481

  5. #5
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Re-
    Pour une meilleure compréhension de ton problème, place une titite msgbox avant ton test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CelDonnee.Offset(0, 4).Interior.ColorIndex = xlNone
    CelDonnee.Offset(0, 4).Value = htel / CelDonnee.Offset(0, 8).Value
    MsgBox CelDonnee.Offset(0, 4).Value
    If CelDonnee.Offset(0, 4).Value > 0.2 Then CelDonnee.Offset(0, 4).Interior.ColorIndex = 41
    Et avise en fonction de ce qui apparait dans ta msgbox...

  6. #6
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    la valeur de la cellule est bien:
    sur une division normale 0,209964632823043
    et quand c'est pas ok
    6,9956565412E-04
    et c'est bien une virgule
    donc 6,99> à 0,2 mais correspond à 7%
    Fichiers attachés Fichiers attachés

  7. #7
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Oups j'avais bien mis le . à la place de la virgule mais pas enlevé les guillemets.
    Comme ça tout fonctionne
    Avec mes excuses.
    Cdt

  8. #8
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Je ne sais pas... Le code donné plus haut fonctionne très bien chez moi, avec mon p'tit excel 2003.
    Essaye peut être de transformer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveCell.Offset(0, 4).Value > 0.2
    en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CDbl(ActiveCell.Offset(0, 4).Value) > 0.2

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur suite à crash PC "Invalid project description"
    Par seiryujay dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 10/04/2012, 14h41
  2. [POO] Erreur suite à un cast sur un objet
    Par RogerB dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2006, 13h56
  3. Erreur suite à changement de version
    Par BW7541 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 31/03/2006, 16h48
  4. Erreur de division par 0 (MMX_FLAG)
    Par Harry dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 23/09/2005, 11h47
  5. affichage page erreur suite exception
    Par pram dans le forum XMLRAD
    Réponses: 1
    Dernier message: 20/09/2005, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo