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 :

problème expresion division par 0


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 96
    Points : 45
    Points
    45
    Par défaut problème expresion division par 0
    bonjour à tous, j'ai un problème à cause d'un résultat qui me donne l'expression "#DIV/0!". Je voudrais faire un test afin de voir si j'obtiens ce type de résultat, afin de le sauter et de poursuivre. Seulement, j'ai une incompatibilité au niveau de la condition de mon test if. voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    For ColonneCopieTCDyn = 12 To DerniereColonneTCDyn - 1
        Total_Mois_RAS_Chantier = 0
        For LigneTableauCopieTCDyn = 483 To 502
            RAS_Mois = Cells(LigneTableauCopieTCDyn, ColonneCopieTCDyn).Value
            'gestion de l'erreur divion par 0:
            If RAS_Mois = "#DIV/0!" Then
                GoTo Suivant
            Else
                Total_Mois_RAS_Chantier = Total_Mois_RAS_Chantier + RAS_Mois
            End If
    Suivant:
        Next LigneTableauCopieTCDyn
        Cells(503, ColonneCopieTCDyn).Value = Total_Mois_RAS_Chantier
    Next ColonneCopieTCDyn
    Est ce que quelqu'un pourrait me venir en aide? merci à vous et bonne journée

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Je ne suis pas sûr du numéro, mais tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For LigneTableauCopieTCDyn = 483 To 502
            'gestion de l'erreur divion par 0:
            If Cells(LigneTableauCopieTCDyn, ColonneCopieTCDyn).Errors(1) Then
    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour babou466 pgz le forum as tu esaye IsError
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsError(ton code)) Then
    SALUTATIONS

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Salut Laetitia.

    IsError sera vrai quelque soit le type d'erreur, pas seulement pour l'erreur "division par 0".

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    j'ai essayé le code suivant:
    qui ne fonctionne pas
    ainsi que le code suivant qui ne fonctionne pas non plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(LigneTableauCopieTCDyn, ColonneCopieTCDyn).Errors(2007) Then
    mon message d'erreur me signalant l'erreur 2007

  6. #6
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re est comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsError (ta condition) = true Then
    attention comme le dit l ami pgz cest pour tous type d erreur
    SALUTATIONS

  7. #7
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Citation Envoyé par babou466 Voir le message
    j'ai essayé le code suivant:
    qui ne fonctionne pas
    ainsi que le code suivant qui ne fonctionne pas non plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(LigneTableauCopieTCDyn, ColonneCopieTCDyn).Errors(2007) Then
    mon message d'erreur me signalant l'erreur 2007
    Je n'ai pas compris si tu as essayé ou pas le code que je t'ai proposé : 2007 --> 1.
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  8. #8
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut
    Un coup de barre, un ti coup de Faq et ça repart ^^
    http://silkyroad.developpez.com/VBA/GestionErreurs/

    Le 3eme § semble être intéressant

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par pgz Voir le message
    Je n'ai pas compris si tu as essayé ou pas le code que je t'ai proposé : 2007 --> 1.
    oui j'avais également essayé avec 1, sans succés. Mais merci à vous!

  10. #10
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour,

    Sans passer par une gestion d'erreur, mais ce code fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim MaRange As Range
    Set MaRange = Range("A1")
     
    MsgBox MaRange.Address & vbCrLf & MaRange.Text
     
    If MaRange.Text = "#DIV/0!" Then
        MsgBox "Division par 0"
    Else
        MsgBox "Pas de division par 0"
    End If

Discussions similaires

  1. Problème division par zéro
    Par omaes dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/10/2014, 17h52
  2. Réponses: 6
    Dernier message: 25/10/2013, 12h20
  3. Problème de division par zero
    Par Mattorre dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/07/2010, 13h58
  4. problème de division par 100
    Par trent94 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/11/2005, 22h08
  5. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41

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