Voilà, j'ai créé sous VBA une macro excel (excel XP).
J'ai fait appel à la fonction round, aucun probleme.
Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de
excel97.
Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction
round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui
fasse la meme chose ?
"Vincent" a écrit dans le message de news: Voilà, j'ai créé sous VBA une macro excel (excel XP). J'ai fait appel à la fonction round, aucun probleme. Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de excel97. Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui fasse la meme chose ?
"Vincent" <Vincent@discussions.microsoft.com> a écrit dans le message de news: 15A0D834-D3C0-4347-96EB-ED1E35450239@microsoft.com...
Voilà, j'ai créé sous VBA une macro excel (excel XP).
J'ai fait appel à la fonction round, aucun probleme.
Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de
excel97.
Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction
round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui
fasse la meme chose ?
"Vincent" a écrit dans le message de news: Voilà, j'ai créé sous VBA une macro excel (excel XP). J'ai fait appel à la fonction round, aucun probleme. Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de excel97. Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui fasse la meme chose ?
Merci de votre aide
Clément Marcotte
De toutes façons le Round() de VBA, c'est à oublier d'urgence:
Voilà, j'ai créé sous VBA une macro excel (excel XP). J'ai fait appel à la fonction round, aucun probleme. Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de excel97. Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui fasse la meme chose ?
Merci de votre aide
De toutes façons le Round() de VBA, c'est à oublier d'urgence:
"Vincent" <Vincent@discussions.microsoft.com> a écrit dans le message de
news: 15A0D834-D3C0-4347-96EB-ED1E35450239@microsoft.com...
Voilà, j'ai créé sous VBA une macro excel (excel XP).
J'ai fait appel à la fonction round, aucun probleme.
Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de
excel97.
Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction
round n'est pas reconnue, et donc fait planter la macro.... comment faire
???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui
fasse la meme chose ?
Voilà, j'ai créé sous VBA une macro excel (excel XP). J'ai fait appel à la fonction round, aucun probleme. Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de excel97. Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui fasse la meme chose ?
Merci de votre aide
PMO
Bonjour,
Une piste avec le code suivant à copier dans un module standard.
1) Lancez la macro PMO_test où le nombre arbitraire 7654321.1234567 sera arrondi par la fonction PMO_Round qui a les mêmes arguments que la fonction ROUND d'Excel. Une boucle définit le nombre de décimales de 0 à 7. 2) Une MsgBox affiche a) le résultat par Application.WorksheetFunction.Round b) le résultat par PMO_Round
Les résultats semblent s'équivaloir.
Faites plusieurs tests différents et s'ils s'avèrent vous n'aurez plus qu'à remplacer Application.WorksheetFunction.Round par PMO_Round dans votre code.
'************* Sub PMO_test() Dim x# Dim i& x# = 7654321.1234567 'arbitraire pour le test For i& = 0 To 7 'de 0 à 7 décimales MsgBox "Round = " & Application.WorksheetFunction.Round(x#, i&) & _ vbCrLf & "PMO_Round = " & PMO_Round(x#, i&) Next i& End Sub
Private Function PMO_Round(x As Double, ByVal nbDecimal As Integer) As Double Dim var If nbDecimal = 0 Then var = CLng(x) Else var = x var = Mid(var, InStr(1, var, ".") + 1) var = Mid(var, 1, nbDecimal) & "." & Mid(var, nbDecimal + 1) var = CLng(var) var = var / 10 ^ nbDecimal var = CLng(x) + var End If PMO_Round = CDbl(var) End Function '*************
Cordialement. -- PMO Patrick Morange
Voilà, j'ai créé sous VBA une macro excel (excel XP). J'ai fait appel à la fonction round, aucun probleme. Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de excel97. Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui fasse la meme chose ?
Merci de votre aide
Bonjour,
Une piste avec le code suivant à copier dans un module standard.
1) Lancez la macro PMO_test où le nombre arbitraire 7654321.1234567
sera arrondi par la fonction PMO_Round qui a les mêmes arguments
que la fonction ROUND d'Excel. Une boucle définit le nombre de décimales de
0 à 7.
2) Une MsgBox affiche
a) le résultat par Application.WorksheetFunction.Round
b) le résultat par PMO_Round
Les résultats semblent s'équivaloir.
Faites plusieurs tests différents et s'ils s'avèrent vous n'aurez plus qu'à
remplacer Application.WorksheetFunction.Round par PMO_Round dans votre code.
'*************
Sub PMO_test()
Dim x#
Dim i&
x# = 7654321.1234567 'arbitraire pour le test
For i& = 0 To 7 'de 0 à 7 décimales
MsgBox "Round = " & Application.WorksheetFunction.Round(x#, i&) & _
vbCrLf & "PMO_Round = " & PMO_Round(x#, i&)
Next i&
End Sub
Private Function PMO_Round(x As Double, ByVal nbDecimal As Integer) As Double
Dim var
If nbDecimal = 0 Then
var = CLng(x)
Else
var = x
var = Mid(var, InStr(1, var, ".") + 1)
var = Mid(var, 1, nbDecimal) & "." & Mid(var, nbDecimal + 1)
var = CLng(var)
var = var / 10 ^ nbDecimal
var = CLng(x) + var
End If
PMO_Round = CDbl(var)
End Function
'*************
Cordialement.
--
PMO
Patrick Morange
Voilà, j'ai créé sous VBA une macro excel (excel XP).
J'ai fait appel à la fonction round, aucun probleme.
Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de
excel97.
Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction
round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui
fasse la meme chose ?
Une piste avec le code suivant à copier dans un module standard.
1) Lancez la macro PMO_test où le nombre arbitraire 7654321.1234567 sera arrondi par la fonction PMO_Round qui a les mêmes arguments que la fonction ROUND d'Excel. Une boucle définit le nombre de décimales de 0 à 7. 2) Une MsgBox affiche a) le résultat par Application.WorksheetFunction.Round b) le résultat par PMO_Round
Les résultats semblent s'équivaloir.
Faites plusieurs tests différents et s'ils s'avèrent vous n'aurez plus qu'à remplacer Application.WorksheetFunction.Round par PMO_Round dans votre code.
'************* Sub PMO_test() Dim x# Dim i& x# = 7654321.1234567 'arbitraire pour le test For i& = 0 To 7 'de 0 à 7 décimales MsgBox "Round = " & Application.WorksheetFunction.Round(x#, i&) & _ vbCrLf & "PMO_Round = " & PMO_Round(x#, i&) Next i& End Sub
Private Function PMO_Round(x As Double, ByVal nbDecimal As Integer) As Double Dim var If nbDecimal = 0 Then var = CLng(x) Else var = x var = Mid(var, InStr(1, var, ".") + 1) var = Mid(var, 1, nbDecimal) & "." & Mid(var, nbDecimal + 1) var = CLng(var) var = var / 10 ^ nbDecimal var = CLng(x) + var End If PMO_Round = CDbl(var) End Function '*************
Cordialement. -- PMO Patrick Morange
Voilà, j'ai créé sous VBA une macro excel (excel XP). J'ai fait appel à la fonction round, aucun probleme. Ma macro fonctionne correctement, jusque là pas de prob.
Seulement j'ai besoin de l'utiliser sur un PC equipé de windows 98 et de excel97. Et là, c'est le drame.. la macro ne fonctionne plus du tout.. la fonction round n'est pas reconnue, et donc fait planter la macro.... comment faire ???
Existe-t-il un patch ? ou un moyen de programmer en vba une fonction qui fasse la meme chose ?