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

VBA Word Discussion :

Problème lors de l'exécution de ce programme


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    RESPONSABLE EXPLOIATATION
    Inscrit en
    Janvier 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : RESPONSABLE EXPLOIATATION
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème lors de l'exécution de ce programme
    Bonjour,

    Quelqu'un aurait-il une idée de pourquoi lorsque j'exécute le programme suivant :
    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
    17
    18
    Sub tableuro3()
    'Insertion d'un tableau de 100 lignes et 2 colonnes
        ActiveDocument.Tables.Add Range:=Selection.Range, _
        NumRows:=100, NumColumns:=2, _
        DefaultTableBehavior:=wdWord9TableBehavior, _
        AutoFitBehavior:=wdAutoFitFixed
        'On imprime un tableau de conversion d'euros en francs
        'Remplissage des en-têtes de colonnes
        Selection.TypeText Text:="Euro"
        Selection.MoveRight Unit:=wdCell
        Selection.TypeText Text:="Franc"
        Selection.MoveRight Unit:=wdCell
        For euros = 0 To 10 Step 0.1
        Selection.TypeText Text:=euros
        Selection.MoveRight Unit:=wdCell
        Selection.TypeText Text:=euros * 6.55957
        Selection.MoveRight Unit:=wdCell
        Next euros
    End Sub

    J'obtiens ce tableau :

    Euro Franc
    0 0
    0,1 0,655957
    0,2 1,311914
    0,3 1,967871
    0,4 2,623828
    0,5 3,279785
    0,6 3,935742
    0,7 4,591699
    0,8 5,247656
    0,9 5,903613
    1 6,55957
    1,1 7,215527
    1,2 7,871484
    1,3 8,527441
    1,4 9,183398
    1,5 9,839355
    1,6 10,495312
    1,7 11,151269
    1,8 11,807226
    1,9 12,463183
    2 13,11914
    2,1 13,775097
    2,2 14,431054
    2,3 15,087011
    2,4 15,742968
    2,5 16,398925
    2,6 17,054882
    2,7 17,710839
    2,8 18,366796
    2,9 19,022753
    3 19,67871
    3,1 20,334667
    3,2 20,990624
    3,3 21,646581
    3,4 22,302538
    3,5 22,958495
    3,6 23,614452
    3,7 24,270409
    3,8 24,926366
    3,9 25,582323
    4 26,23828
    4,1 26,894237
    4,2 27,550194
    4,3 28,206151
    4,4 28,862108
    4,5 29,518065
    4,6 30,174022
    4,7 30,829979
    4,8 31,485936
    4,9 32,141893
    5 32,79785
    5,1 33,453807
    5,2 34,109764
    5,3 34,765721
    5,4 35,421678
    5,5 36,077635
    5,6 36,733592
    5,7 37,389549
    5,8 38,045506
    5,9 38,701463
    5,99999999999999 39,35742
    6,09999999999999 40,013377
    6,19999999999999 40,669334
    6,29999999999999 41,325291
    6,39999999999999 41,981248
    6,49999999999999 42,637205
    6,59999999999999 43,293162
    6,69999999999999 43,9491189999999
    6,79999999999999 44,6050759999999
    6,89999999999999 45,2610329999999
    6,99999999999999 45,9169899999999
    7,09999999999999 46,5729469999999
    7,19999999999999 47,2289039999999
    7,29999999999999 47,8848609999999
    7,39999999999999 48,5408179999999
    7,49999999999999 49,1967749999999
    7,59999999999999 49,8527319999999
    7,69999999999999 50,5086889999999
    7,79999999999999 51,1646459999999
    7,89999999999999 51,8206029999999
    7,99999999999999 52,4765599999999
    8,09999999999999 53,1325169999999
    8,19999999999999 53,7884739999999
    8,29999999999999 54,4444309999999
    8,39999999999999 55,1003879999999
    8,49999999999999 55,7563449999999
    8,59999999999999 56,4123019999999
    8,69999999999999 57,0682589999999
    8,79999999999998 57,7242159999999
    8,89999999999998 58,3801729999999
    8,99999999999998 59,0361299999999
    9,09999999999998 59,6920869999999
    9,19999999999998 60,3480439999999
    9,29999999999998 61,0040009999999
    9,39999999999998 61,6599579999999
    9,49999999999998 62,3159149999999
    9,59999999999998 62,9718719999999
    9,69999999999998 63,6278289999999
    9,79999999999998 64,2837859999999
    9,89999999999998 64,9397429999999
    9,99999999999998 65,5956999999999

    Tout est bien exécuté par palier de 0,1 jusqu'à 5,9. Et ensuite au lieu de passer à 6, il passe à 5,999999999998, puis 6,099999999998, puis 6,19999999999998.... et non 6; 6,1; 6,2........
    Une explication? Une idée?

    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    Bonjour,

    c'est probablement un probleme d'arrondi VBA, je te conseille de faire une boucle for classique (de 1 en 1, et de diviser par 10) pour voir sile probleme persiste, il restera la possibilité de faire un Round(euros,1)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. [Multimédia] Problème lors de l'exécution d'un programme sans le dossier Qt
    Par leberra dans le forum Qt
    Réponses: 2
    Dernier message: 23/12/2014, 12h41
  2. problème lors de l'exécution de mon programme
    Par salma1990 dans le forum C++
    Réponses: 4
    Dernier message: 23/04/2013, 19h16
  3. Problème lors de l'exécution de ce programme
    Par Imène_23 dans le forum Images
    Réponses: 2
    Dernier message: 28/05/2009, 10h37
  4. Réponses: 3
    Dernier message: 01/02/2008, 13h42
  5. Problème lors de l'exécution de mes programmes
    Par darkmalak01 dans le forum Langage
    Réponses: 7
    Dernier message: 27/09/2005, 18h35

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