Tout d'abord, un gros merci pour la réponse construite du 1er sujet. Cela m'a permis de mieux comprendre les bases. On aborde maintenant maintenant les boucles et les conditions sous VBA. Voilà un sujet type d'annale.
Question 1 :
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
Question 2 :
Améliorez la lisibilité de la procédure « Chargement_Base ».
=> Je crois qu'il faut ajuster à la marge les différentes instructions
Question 3 :
É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
Question 4 :
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