Christian MUIR

Programme

Dernière modification : 22 mars 2009

Vous êtes ici : Accueil >> Tableur >> Approfondissement >> Programme ...
Approfondissement

Travailler avec plusieurs sources

Simuler des résultats

Rechercher des solutions

Automatiser des manipulations ou des calculs

Exemple

C'est le jour des compétitions à la colonie de vacances d'hiver Boule de neige.

Le moniteur a organisé une épreuve de slalom et mesure les temps de passage de ses compétiteurs par groupe de 20. En fonction de leur résultat comparé à un temps de base, il leur attribue une mention de la façon suivante :

  • temps de passage supérieur ou égal à 2 fois le temps de base : rien
  • temps de passage compris entre 1,5 fois le temps de base et 2 fois le temps de base : flocon
  • temps de passage compris entre 1 fois le temps de base et 1,5 fois le temps de base : fléchette
  • temps de passage inférieur au temps de base : flèche

Résolution avec Excel

Attach:bouledeneige.png Δ

Au bouton a été associé le programme suivant

Sub Btn_SKI_QuandClic()

saisie du temps de base et écriture dans la cellule B1 (ligne = 1, colonne = 2)
base = InputBox("Temps de base ?", "Boule de Neige")
Cells(1, 2) = base

initialisation des compteurs
initialisation de la variable rep pour que le boucle puisse "tourner"
num = 1
nbrien = 0
nbflocons = 0
nbflechettes = 0
nbfleches = 0
rep = "O"

'boucle qui s'arrêtera quand on aura saisi "N"
Do Until rep = "N"

'saisie du nom et du temps du compétiteur
chr$(10) permet un passage à la ligne à l'intérieur de la boîte de dialogue
on se place sur la ligne correspondant au numéro du compétiteur + 3 (le premier sera donc à la ligne 4)

nom = InputBox("Compétiteur n° " & num & Chr$(10) & "Nom ?", "Boule de Neige")
Cells(3 + num, 1) = nom
temps = InputBox("Compétiteur n° " & num & Chr$(10) & "Temps de passage ?", "Boule de Neige")
Cells(3 + num, 2) = temps
If temps < base Then
'on affiche X dans la cellule de la colonne F (n° 6)
on incrémente un compteur pour le nombre de flèches
Cells(3 + num, 6) = "X"
nbfleches = nbfleches + 1
Else
If temps < 1.5 * base Then
on affiche X dans la cellule de la colonne E (n° 5)
on incrémente un compteur pour le nombre de fléchettes
Cells(3 + num, 5) = "X"
nbflechettes = nbflechettes + 1
Else
If temps < 2 * base Then
on affiche X dans la cellule de la colonne D (n° 4)
on incrémente un compteur pour le nombre de flocons
Cells(3 + num, 4) = "X"
nbflocons = nbflocons + 1
Else
on affiche X dans la cellule de la colonne C (n° 3)
on incrémente un compteur pour le nombre de "rien"
Cells(3 + num, 3) = "X"
---->
nbrien = nbrien + 1
3 fin si car 3 si
End If
End If
End If
préparation du passage à la ligne suivante
num = num + 1
on saisit la réponse,
en ne prenant que la première lettre à gauche de la réponse
et on met cette lettre en majuscule
rep = InputBox("Autre compétiteur ? (O/N)", "Boule de neige")
rep = Left(rep, 1)
rep = UCase(rep)

fin de la boucle
Loop
Cells(24, 3) = nbrien
Cells(24, 4) = nbflocons
Cells(24, 5) = nbflechettes
Cells(24, 6) = nbfleches
End Sub


Exemple adapté d'un exercice trouvé sur le site de Lille 3


Powered by PmWiki
Licence Creative Commons