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