Bug sur vba?
Fermé
panga-panga
Messages postés
4
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
13 mars 2008
-
13 mars 2008 à 20:31
amigo - 13 mars 2008 à 21:47
amigo - 13 mars 2008 à 21:47
Bonsoir,
voila,je passe sur 1e macro un single en argument pour efuctuer 1 calcul(simple).le probleme est ..
-si je passe 1 multiple de 0.5 (1;1.5;ect...) tout va bien
-si je passe 0.3 ca ne va plus ..1 exemple 4.7 + 0.3 =5.00098445156
ceci est calculer directement sur la feuille..pourkoi?
voila,je passe sur 1e macro un single en argument pour efuctuer 1 calcul(simple).le probleme est ..
-si je passe 1 multiple de 0.5 (1;1.5;ect...) tout va bien
-si je passe 0.3 ca ne va plus ..1 exemple 4.7 + 0.3 =5.00098445156
ceci est calculer directement sur la feuille..pourkoi?
A voir également:
- Bug sur vba?
- Bug yahoo mail - Accueil - Mail
- Bug chatgpt - Accueil - Intelligence artificielle
- Facebook rencontre bug - Forum Facebook
- Bug yahoo mail 27 fevrier 2024 ✓ - Forum Yahoo mail
- Iptv bug - Forum Box et Streaming vidéo
3 réponses
Bonjour,
J'ai fait un test sur VBA Excel 2003, le resultat est correct, pas de bug.
Private Sub CommandButton1_Click()
Dim a As Single, b As Single
a = 4.7: b = 0.3
MsgBox "a + b = " & addition(a, b)
End Sub
Function addition(x As Single, y As Single) As Single
addition = x + y
End Function
A+.
J'ai fait un test sur VBA Excel 2003, le resultat est correct, pas de bug.
Private Sub CommandButton1_Click()
Dim a As Single, b As Single
a = 4.7: b = 0.3
MsgBox "a + b = " & addition(a, b)
End Sub
Function addition(x As Single, y As Single) As Single
addition = x + y
End Function
A+.
Donnes toujours , on verra.
panga-panga
Messages postés
4
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
13 mars 2008
13 mars 2008 à 21:14
13 mars 2008 à 21:14
2 fontions appeles par 1 clik bouton
Sub tri()
c = 1
'l = 1
Dim x, c As Integer
Do While c <> 50
For x = 1 To 50
If tabl(1, x) <> 0 Then
If tabl(1, c) = tabl(1, x) Then
table(1, c) = tabl(1, c)
table(2, c) = tabl(2, c)
table(3, c) = table(3, c) + 2
If x <> c Then
tabl(1, x) = 0
tabl(2, x) = 0
End If
End If
If tabl2(2, c) = tabl2(2, x) Then
table(1, c + 50) = tabl2(1, c)
table(2, c + 50) = tabl2(2, c)
table(3, c + 50) = table(3, c + 50) + 1
If x <> c Then
tabl2(1, x) = 0
tabl2(2, x) = 0
End If
End If
End If
Next x
c = c + 1
Loop
End Sub
Sub calcul(arg As Single)
Dim c As Integer
For c = 1 To 100
If table(1, c) <> 0 Then
Folha2.Cells(l + 6, 1) = table(3, c) & "\" & table(1, c) + 3 & "x" & 4.7 + arg & "x" & Folha4.Cells(7, 3)
l = l + 1
table(1, c) = 0
table(2, c) = 0
table(3, c) = 0
End If
Next c
End Sub
Sub tri()
c = 1
'l = 1
Dim x, c As Integer
Do While c <> 50
For x = 1 To 50
If tabl(1, x) <> 0 Then
If tabl(1, c) = tabl(1, x) Then
table(1, c) = tabl(1, c)
table(2, c) = tabl(2, c)
table(3, c) = table(3, c) + 2
If x <> c Then
tabl(1, x) = 0
tabl(2, x) = 0
End If
End If
If tabl2(2, c) = tabl2(2, x) Then
table(1, c + 50) = tabl2(1, c)
table(2, c + 50) = tabl2(2, c)
table(3, c + 50) = table(3, c + 50) + 1
If x <> c Then
tabl2(1, x) = 0
tabl2(2, x) = 0
End If
End If
End If
Next x
c = c + 1
Loop
End Sub
Sub calcul(arg As Single)
Dim c As Integer
For c = 1 To 100
If table(1, c) <> 0 Then
Folha2.Cells(l + 6, 1) = table(3, c) & "\" & table(1, c) + 3 & "x" & 4.7 + arg & "x" & Folha4.Cells(7, 3)
l = l + 1
table(1, c) = 0
table(2, c) = 0
table(3, c) = 0
End If
Next c
End Sub
Bon voila ce que ça me donne
Je ne suis pas attardé sur le tri parce que je n'ai pas table tabl1 et tabl2 mais j'ai supposé que c'était des entiers
J'ai regardé de plus près la ligne
Folha2.Cells(l + 6, 1) = table(3, c) & "\" & table(1, c) + 3 & "x" & 4.7 + arg & "x" & Folha4.Cells(7, 3)
j'ai remplacé table(3, c) par 1, table(1, c) par 1 et arg par 0.3
j'ai mis dans la cellule C7 (cells(7,3)) la valeur 5
Sub essai()
Folha2.Cells(6, 1) = 1 & "\" & 1 + 3 & "x" & 4.7 + 0.3 & "x" & Folha2.Cells(7, 3)
End Sub
Apres execution la cellule A6 (Cells(6, 1)) contient le texte "1\4x5x5", pas de valeur numérique.
J'ai pas compris.
A+
Je ne suis pas attardé sur le tri parce que je n'ai pas table tabl1 et tabl2 mais j'ai supposé que c'était des entiers
J'ai regardé de plus près la ligne
Folha2.Cells(l + 6, 1) = table(3, c) & "\" & table(1, c) + 3 & "x" & 4.7 + arg & "x" & Folha4.Cells(7, 3)
j'ai remplacé table(3, c) par 1, table(1, c) par 1 et arg par 0.3
j'ai mis dans la cellule C7 (cells(7,3)) la valeur 5
Sub essai()
Folha2.Cells(6, 1) = 1 & "\" & 1 + 3 & "x" & 4.7 + 0.3 & "x" & Folha2.Cells(7, 3)
End Sub
Apres execution la cellule A6 (Cells(6, 1)) contient le texte "1\4x5x5", pas de valeur numérique.
J'ai pas compris.
A+
13 mars 2008 à 21:06