Bonjour,
Quelqu'un aurait-il une idée de pourquoi lorsque j'exécute le programme suivant :
End Sub
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
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.
Partager