Macro ok sous 2003, pas sous 2007

MGO

XLDnaute Nouveau
Bonjour,
Je suis prof de maths et relativement néophyte sous VBA. J'ai essayé de créer une macro permettent de simuler un jeu de franc-carreau pour étudier les probabilités en 3ème. Cette macro, certainement améliorable, avait le mérite de tourner parfaitement sur Excel 2003.
Voici le principe:
On lance une pièce de monnaie sur un quadrillage et on s'intéresse à la probabilité que la pièce intercepte une ligne du quadrillage.
Or l'été dernier, je suis passé Excel 2007 (gratuité oblige), et cette macro présente le problème suivant : elle fait les calculs correctement, mais ma pièce ne se déplace pas à chaque lancer, alors qu'elle changeait de position auparavant sous Excel 2003.
J'aimerais bien que mes élèves voient la pièce se déplacer à chaque fois... et surtout j'aimerais savoir ce qui cloche.
merci par avance.

Voici le code :
Sub franccarreau()
Dim x, y, z, k, l, m, n
z = 0
n = InputBox("Entrez le nombre de tirages à simuler", "Jeu de Franc-carreau", , 5000, 5000)
If n = "" Then Exit Sub
For i = 1 To n
x = 10 * Rnd()
y = 10 * Rnd()
m = Int(5 * Rnd())
l = Int(5 * Rnd())
If x > 1 And x < 9 Then
If y > 1 And y < 9 Then
z = z + 1
End If
End If
ActiveSheet.Shapes("Oval 6").Select
With Selection
.Left = 10 * x + 100 * m - 10
.Top = 10 * y + 100 * l - 10
End With
Cells(12, 8).Value = z
Cells(i, 20).Value = z / i
pause (Cells(8, 8).Value)
Next
Cells(13, 8).Value = n
Cells(14, 8).Value = 100 * z / n

Cells(19, 8).Value = z + Cells(19, 8).Value
Cells(20, 8).Value = n + Cells(20, 8).Value
Cells(21, 8).Value = 100 * Cells(19, 8).Value / Cells(20, 8).Value

Cells(4 + Cells(23, 8).Value, 10).Value = 100 * z / n
Cells(23, 8).Value = Cells(23, 8).Value + 1 '
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Macro ok sous 2003, pas sous 2007

Bonjour MGO

et bienvenue sur XLD

il manque semble-t-il une fonction ou Sub : pause

Neanmoins j'ai pu tester sous 2000 puis 2007 et le fonctionnement est le même dans chaque cas
voir les fichiers joints
As-tu pensé a bien nommer ta piece Oval 6 dans 2007 ?
Par ailleurs pour un veritable aléa Randomize doit preceder Rnd (voir l'aide d'Excel)
 

Pièces jointes

  • OVAL6.xls
    26.5 KB · Affichages: 97
  • Oval6.xlsm
    16.7 KB · Affichages: 96

Statistiques des forums

Discussions
312 555
Messages
2 089 547
Membres
104 208
dernier inscrit
laura29180