formateur informatique

Prévoir la sortie des numéros du loto

Accueil  >  Bureautique  >  Excel  >  Excel VBA  >  Prévoir la sortie des numéros du loto
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
Sujets que vous pourriez aussi aimer :


Prédire les numéros du loto

Certes, le titre peut paraître racoleur et il l'est, n'ayons pas peur des mots. Mais sur la base des travaux précédents qui nous ont permis de dégager certaines tendances, nous souhaitons exploiter ces données pour proposer des numéros qui auraient vraisemblablement plus de chances d'être tirés.



Classeur Excel à télécharger
Pour finaliser cette application du loto, nous devons récupérer les travaux au dernier indice. Comme nous en avons l'habitude désormais, le classeur Excel est accompagné d'un fichier texte et d'un sous dossier nommé tirages. Le fichier texte héberge le code VBA à réintégrer au projet. Le sous dossier tirages doit accueillir le fichier de la française des jeux pour importer toutes les données des tirages passés, sur une feuille du classeur.
  • Double cliquer sur le fichier du classeur pour l'ouvrir dans Excel,
  • Puis, cliquer sur le bouton Activer la modification du bandeau de sécurité,
Nous débouchons sur la première feuille du classeur. Elle est nommée tirages. Deux boutons sont présents. Un clic sur le bouton Actualiser permet de télécharger le fichier de la française des jeux et d'importer toutes les données des tirages passés sur la feuille, comme le prouve le tableau enrichi. Un Clic sur le bouton Stats permet de livrer toutes les statistiques intermédiaires, jusqu'à celles que nous proposons de bâtir ici pour tenter de prévoir la prochaine grille des numéros du loto.

Tableau Excel pour prévoir les numéros du Loto en VBA

C'est dans la feuille nommée frequences, entre les colonnes J et K que nous devons proposer les numéros qui nous semblent les plus probables pour le prochain tirage.

Réintégrer le code VBA
Nous l'avons déjà expliqué, les antivirus sont sensibles. C'est la raison pour laquelle notre code VBA est détaché. Pour poursuivre les travaux, nous devons le réintégrer.
  • A la racine du dossier de décompression, double cliquer sur le fichier texte pour l'ouvrir,
  • Sélectionner toutes les lignes avec le raccourci clavier CTRL + A,
  • Les copier avec le raccourci clavier CTRL + C,
  • Revenir sur la feuille Excel (ALT + Tab),
  • Réaliser le raccourci clavier ALT + F11 pour basculer dans l'éditeur VBA Excel,
  • Dans l'explorateur sur la gauche, double cliquer sur l'élément Feuil1 (tirages),
  • Puis, coller (CTRL + V) les lignes précédemment copiées,
Ensuite, vous devez veiller à ce que la référence Microsoft Shell Controls And Automation est toujours bien associée au projet.



La procédure et ses variables
Pour démarrer le code VBA, nous proposons de créer une nouvelle procédure indépendante qui devra elle aussi, être appelée par la procédure événementielle stats_Click. Son rôle est de parcourir les fréquences les plus répétées en colonne J de la feuille stats_sortie, pour extraire depuis la feuille frequences les boules qui en sont à cette répétition de sortie. Et elle doit agir de la même façon pour proposer le numéro chance à jouer.
  • Sous la procédure rept_freq, créer la procédure grille comme suit :
Private Sub grille()
Dim freqAps As Integer
Dim ligne1 As Integer: Dim ligne2 As Integer: Dim ligne3 As Integer
Dim compteur As Byte

Sheets("frequences").Range("J4:K21").Value = ""
ligne1 = 4: ligne3 = 4: compteur = 0

End Sub


Nous déclarons toutes les variables comme des entiers. Seule la variable compteur est typée comme un entier court. La première (freqAps) servira à prélever tour à tour les fréquences analysées. Les autres variables seront utilisées pour pointer sur les lignes des différents tableaux tandis que la variable compteur renseignera sur le nombre de boules déjà proposées.

Ensuite, nous vidons le tableau de la grille sur la feuille frequences et nous initialisons quelques variables sur leurs positions de départ.



Parcourir les fréquences
Maintenant, nous devons parcourir les fréquences en colonne J de la feuille stats_sortie. Rappelez-vous, elles sont triées dans l'ordre décroissant de leurs répétitions.
  • A la suite du code VBA, créer la boucle Do comme suit :
...
Do While Sheets("stats_sortie").Cells(ligne1, 10).Value <> ""
freqAps = Sheets("stats_sortie").Cells(ligne1, 10).Value
If (compteur > 4) Then Exit Do
ligne1 = ligne1 + 1: ligne2 = 4

Loop
...


Jusqu'à indication contraire, nous parcourons toutes les fréquences de la feuille stats_sortie, à partir de la ligne 4 (ligne1) et sur la colonne J (10). Nous prélevons cette fréquence dans la variable freqAps. En effet, nous devrons trouver les numéros qui lui correspondent, dans le tableau de la feuille frequences. Avant de poursuivre le traitement, nous nous assurons que les cinq boules n'ont pas déjà été proposées (compteur > 4). Si le Quota est atteint, voire dépassé dans le cas de plusieurs boules arborant la même fréquence, nous stoppons l'extraction (Exit Do). Dans le cas contraire, nous déplaçons l'indice de ligne (ligne1 = ligne1 + 1) sur la prochaine fréquence à analyser. Puis, nous initialisons l'autre indice de ligne sur la quatrième unité (ligne2 = 4), soit sur l'indice de la première boule de la feuille fréquence.

Extraire les boules à jouer
Maintenant, pour chaque fréquence analysée, nous devons trouver les boules répondant favorablement. Si aucune ne propose ce score, tant que le quota n'est pas atteint, c'est sur la fréquence suivante que l'extraction tentera de se faire.
  • A la suite du code de la boucle Do, créer la nouvelle boucle suivante :
...
ligne1 = ligne1 + 1: ligne2 = 4
Do While Sheets("frequences").Cells(ligne2, 5).Value <> ""
If (Sheets("frequences").Cells(ligne2, 5).Value = freqAps) Then
Sheets("frequences").Cells(ligne3, 10).Value = Sheets("frequences").Cells(ligne2, 4).Value
ligne3 = ligne3 + 1
compteur = compteur + 1
End If
ligne2 = ligne2 + 1
Loop

Loop
...


Nous analysons toutes les fréquences (While ... Cells(ligne2, 5).Value <> "") des boules sur la feuille frequences. Dès que l'une d'entre elles correspond à la fréquence cherchée (Cells(ligne2, 5).Value = freqAps), nous rapatrions son numéro de boule (Cells(ligne2, 4).Value) dans la grille en colonne J (Cells(ligne3,10).Value). Puis, nous n'oublions pas d'incrémenter les variables de boucle. Celle de la variable ligne2 se fait naturellement en dehors du critère puisqu'elle est utilisée pour faire tourner la boucle qui l'encapsule.



Extraire le numéro chance
Pour finir, il nous reste à livrer le numéro chance le plus probable, en fonction de la fréquence la plus élevée calculée en colonne L (12) de la feuille stats_sortie. Le principe est donc identique au détail près que les coordonnées ciblées doivent être adaptées.
  • A la suite du code, après la double boucle, créer la nouvelle double boucle suivante :
...
ligne1 = 4: ligne3 = 4: compteur = 0
Do While Sheets("stats_sortie").Cells(ligne1, 12).Value <> ""
freqAps = Sheets("stats_sortie").Cells(ligne1, 12).Value
If (compteur > 1) Then Exit Do
ligne1 = ligne1 + 1: ligne2 = 4
Do While Sheets("frequences").Cells(ligne2, 8).Value <> ""
If (Sheets("frequences").Cells(ligne2, 8).Value = freqAps) Then
Sheets("frequences").Cells(ligne3, 11).Value = Sheets("frequences").Cells(ligne2, 7).Value
ligne3 = ligne3 + 1
compteur = compteur + 1
End If
ligne2 = ligne2 + 1
Loop
Loop
...


Nous réinitialisons tout d'abord les variables de positionnement. Puis, de la même manière que précédemment et sans indication contraire, nous entreprenons et poursuivons l'analyse des numéros chance (Cells(ligne1, 12).Value). Si au moins un numéro correspondant a déjà été retourné (compteur > 1), nous stoppons l'exécution de la boucle. Puis, pour chaque fréquence de la feuille frequences, nous cherchons la correspondance (Sheets("frequences").Cells(ligne2,8).Value = freqAps). Si un numéro répond favorablement, nous le livrons dans la grille de la feuille frequences en colonne K (11). Il est important de comprendre que plusieurs numéros chance peuvent être proposés, lorsqu'un groupe de numéros offre cette fréquence identique la plus haute.



La grille du prochain loto
Le développement est terminé. Mais comme nous l'avons dit, pour que cette nouvelle procédure s'exécute, elle doit être appelée par la procédure événementielle stats_Click.
  • A la fin de la procédure stats_Click, ajouter l'appel suivant :
...
Set tabB = Nothing
Set tabC = Nothing

freq_sortie
rept_freq
grille

End Sub
...


Il est temps de tester le code.
  • Enregistrer les modifications et basculer sur la première feuille du classeur,
Vous pouvez actualiser les tirages en cliquant sur le bouton Actualiser. Mais souvenez-vous, un second clic est souvent nécessaire.
  • Cliquer alors sur le bouton Stats,
A l'issue, la main est rendue à la feuille frequences. A l'heure où nous réalisons cette formation, ce sont 6 boules et 3 numéros chance qui sont livrés. Un peu de tri manuel s'impose malheureusement mais ce ne sera pas toujours le cas. Peut-être s'agit t-il d'une indication pour éviter le tirage à venir.

La grille du prochain Loto en VBA Excel

En effet, de nombreuses boules offrent la même fréquence, la deuxième la plus répétée. Et trois numéros chance sont placés sur la troisième fréquence la plus haute car les deux premières ne répondent pas favorablement.

Enfin, si vous ajoutez la formule suivante en cellule B4 : =stats_sortie!J4 et que vous la répliquez sur la hauteur de la colonne, vous déclenchez une mise en forme conditionnelle prédéfinie. Elle repère les zones des numéros les plus favorables, selon le cheminement que nous avons entrepris.

Repérer en couleur les numéros du loto à jouer

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn