On aborde les boucles et les conditions sous VBA. Voilà un sujet type d'annale.
[b]Question 1 :[/b]
Dans le module appelé « Résultats », créez un nouveau type de variable, appelé « Joueur »
comportant les caractéristiques suivantes :
? « Nom » de type « String »,
? « Prénom » de type « String »,
? « Date » de type « Date » ,
? « Parcours » de type « String »
? « Trou » (champ tableau comportant 18 emplacements) de type « Byte ».
=> Je pense qu'il faut écrire:
Type Joueur
Nom as string
Prénom as string
Date as Date
Parcours as String
trou(18) as byte
[b]Question 2 :[/b]
Améliorez la lisibilité de la procédure « Chargement_Base ».
=> Je crois qu'il faut ajuster à la marge les différentes instructions
[b]Question 3 :[/b]
Écrivez une procédure1 devant s'exécuter à l'ouverture du classeur et assurer les tâches
suivantes :
* appeler la procédure « Chargement_Base » ;
* afficher la boîte de dialogue ci-contre ; "Voulez vous saisir un nouveau parcours (Bouton OUI) ou examiner les résultats (Bouton NON) ?
* si l'opérateur appuie sur « Oui », appeler
la procédure « Entrée » ;
* si l'opérateur appuie sur « Non », appeler
la procédure « Analyse ».
=> J'ai mis:
Private Sub Workbook_Open()
Call Chargement_Base
Sub Select_Case()
Dim Réponse As Byte
Réponse = MsgBox("Voulez vous saisir un nouveau parcours(bouton OUI) ou examiner les résultats (bouton NON).", vbYesNo)
Select Case Réponse
Case 6
Call Entrée
Case 7
Call Analyse
End Sub
[b]Question 4 :[/b]
Dans le module « Résultat », créez une procédure appelée « Compte_Joueurs » déterminant le
nombre de lignes de la feuille « Base » comportant des résultats de joueurs.
=> Pas du tout compris --'
LE FICHIER du sujet se présente sous la forme suivante:
Sub Chargement_Base()
Dim Joueurs() As Joueur
Dim Nb_Joueurs As Integer
Dim x As Integer
Range("A3").Select
Call Compte_Joueurs(Nb_Joueurs)
ReDim Joueurs(Nb_Joueurs - 1)
For x = 0 To Nb_Joueurs - 1
Joueurs(x).Nom = ActiveCell.Offset(x, 0).Value
Joueurs(x).Prénom = ActiveCell.Offset(x, 1).Value
Joueurs(x).Parcours = ActiveCell.Offset(x, 2).Value
Joueurs(x).Date = ActiveCell.Offset(x, 3).Value
For y = 0 To 8
Joueurs(x).Trou(y) = ActiveCell.Offset(x, 4 + y).Value
Next
For y = 0 To 8
Joueurs(x).Trou(y + 9) = ActiveCell.Offset(x, 14 + y).Value
Next
Next
End Sub