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 11 division [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de pilounet54
    Homme Profil pro
    retraité
    Inscrit en
    Février 2008
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 489
    Par défaut erreur 11 division
    bonjour a tous
    j'ai cette division mais a chaque fois j'ai le message d'erreur 11 ,division par zero ? mais toutes mes valeurs sont positive

    je vous donne le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     For i = 10 To 29
        Range("J34").Offset(0, i - 10).Value = Cells(j, i) + Cells(k, i) / Cells(10, 20) 
    Next
    j'ai bien essayer avec l'aide du net de mettre <>0 cela n'a pas l'air de fonctionner ou je le mets à la mauvaise place ?
    pouvez vous m'aider merci

  2. #2
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Bonjour pilounet54,

    Il y a quoi comme valeur dans ta cellule [T10] (celle qui sert à la division) ?
    Et comment sont declarés tes variables j et k ?

    Sinon niveau syntaxe, Next i serait mieux.

  3. #3
    Membre très actif Avatar de pilounet54
    Homme Profil pro
    retraité
    Inscrit en
    Février 2008
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 489
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim j As Integer
    Dim i As Integer
    Dim k As Integer 
     
    j = 8
    k = 33
     
    For i = 10 To 29
        Range("J34").Offset(0, i - 10).Value = Cells(j, i) + Cells(k, i) / Cells(10, 20)
    Next
     
     
    End Sub
    toutes les valeurs sont entières , sans virgule et toutes positives
    s'il y a quelques chose que tu pense changer donne moi stp un tout

    dans sa forme cela me convient malgré tout beaucoup
    cordialement

  4. #4
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Chez moi ce code marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub test()
     
    Dim j%, i%, k%
     
    j = 8: k = 33
     
    For i = 10 To 29
        Debug.Print Cells(j, i)
        Debug.Print Cells(k, i)
        Debug.Print Cells(10, 20)
        Debug.Print Cells(j, i) + Cells(k, i) / Cells(10, 20)
        Debug.Print "---------------------"
        Range("J34").Offset(0, i - 10).Value = Cells(j, i) + Cells(k, i) / Cells(10, 20)
    Next
     
    End Sub
    Ça dépend donc des valeurs de cellules, avec le debug.print tu vas pouvoir visualiser les calculs et savoir ou ça plante.
    (Dans la fenêtre d'exécution Ctrl+G)

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    comme tu n'indiques pas à quelle(s) feuille(s) font référence tes cellules, VBA prend les cellules de la feuille active

    le quiproquo ne vient pas de là ?

    tu penses faire référence à la Feuil1 par exemple, mais comme c'est la Feuil2 qui est active, ton code pointe sur les cellules de Feuil2, où la cellule T10 est vide

  6. #6
    Membre très actif Avatar de pilounet54
    Homme Profil pro
    retraité
    Inscrit en
    Février 2008
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 489
    Par défaut
    cela plante uniquement si je rajoute cela

  7. #7
    Membre très actif Avatar de pilounet54
    Homme Profil pro
    retraité
    Inscrit en
    Février 2008
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 489
    Par défaut
    le bouton est sur la feuille active mais c'est vrai je peux indiquer la feuille mais ce n'est pas cela qui plante c'est uniquement si je fais la division il y a une astuce que je ne connais pas ,pour qu'il fasse la division j'ai essayer de regarder le <>0 et le = esterreur mais je ne sais pas si c'est cela qu'il me faut peut être faire un test avant ?
    cordialement

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

Discussions similaires

  1. [XL-2010] Erreur 11 division par zéro
    Par Ardiden31 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/04/2015, 11h33
  2. [XL-2003] erreur suite divisions
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/04/2011, 15h43
  3. Erreur divisée par zero
    Par winow dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/09/2007, 21h44
  4. division par 0 dans une requête donne #Erreur
    Par bugprog dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 29/05/2007, 09h57
  5. 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

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