Ci-dessous, nous examinerons un programme dans Excel VBA qui affiche un aperçu avant impression de tous les matchs de football possibles à partir d’une liste d’équipes.
1. Premièrement, nous déclarons un objet Range et quatre variables. Nous appelons l’objet Range rng. Une variable String que nous appelons matchname et trois variables Integer que nous appelons counter, i et j.
Dim rng As Range, matchname As String, counter As Integer, i As Integer, j As Integer
2. Nous initialisons rng avec les noms des équipes. Nous utilisons CurrentRegion parce que nous ne connaissons pas à l’avance les limites exactes de la plage (nous voulons que ce programme fonctionne pour 3 équipes mais aussi pour 12 équipes). Nous initialisons le compteur avec la valeur 0.
Set rng = Range("A1"). CurrentRegion counter = 0
3. Nous écrivons tous les matchs de football possibles dans la colonne C. Premièrement, nous videons la colonne C.
Worksheets(1) .Columns (3) = ""
4. Nous commençons une boucle double.
For i = 1 To count.rng For j = i + 1 To count.rng
5. Nous écrivons un nom de correspondance dans la variable nom de correspondance.
matchname = rng.Cells (i) .Value & "vs" & rng.Cells (j) .Value
Par exemple, For i = 1 et j = 2, Excel VBA écrit le nom de correspondance Miami vs Spirts. Un autre exemple For i = 1 and j = 3, Excel VBA écrit le nom de correspondance Torronto vs Chicago, etc.
6. Nous écrivons le nom de correspondance dans la colonne C.
Cells(counter + 1, 3).Value = matchname
7. Le compteur conserve une trace du nombre de noms de correspondance écrits dans la colonne C. Excel VBA incrémente le compteur de 1 à chaque fois qu’il écrit un nom de correspondance dans la colonne C. Pour cela, ajoutez la ligne de code suivante:
counter = counter + 1
8. N’oubliez pas de fermer les deux boucles.
Next j Next i
9. Nous affichons un aperçu avant impression de tous les matchs de football possibles.
ActiveSheet.Columns(3).PrintPreview
10. Testez le programme.
Une partie du résultat:
Remarque: la colonne C est centrée manuellement pour obtenir ce résultat.