Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer : 
Calculer les fréquences au moment des tirages 
Dans le volet précédent, pour notre 
application  destinée à 
analyser les numéros du loto , nous avons dressé des 
statistiques . Elles livrent les 
fréquences de sorties des numéros  en tenant compte de tout l'
historique des tirages . Pour tenter de dresser une certaine "logique comportementale", nous proposons ici de 
calculer la fréquence  qu'avait chaque numéro au moment où il a été appelé par un tirage. Et pour que la période soit suffisamment représentative, nous suggérons d'étudier les 
48 derniers tirages . Comme trois tirages sont réalisés chaque semaine, nous allons agir sur pratiquement les quatre derniers mois. Et nous le verrons, il existe a priori une certaine logique. Et ce ne sont pas les numéros en déficit de fréquences qui sont forcément appelés, bien au contraire.
Classeur Excel à télécharger 
Pour poursuivre le développement, nous devons commencer par récupérer les travaux au dernier indice.
Comme lors du volet précédent, le classeur Excel est accompagné d'un fichier texte et d'un sous dossier. Le fichier texte héberge le 
code VBA  à réintégrer au projet. Le sous dossier doit accueillir le 
fichier téléchargé  de l'
historique des tirages .
Double cliquer sur le fichier du classeur  pour l'exécuter dans Excel , 
Puis, cliquer sur le bouton Activer la modification du bandeau de sécurité, 
Nous débouchons sur la première feuille de ce classeur. Elle est nommée 
tirages . C'est elle qui restitue tous les numéros des tirages passés, après un clic de l'utilisateur sur le 
bouton Actualiser . Dès lors, un clic sur le 
bouton Stats  dresse les 
statistiques sur les fréquences de sorties  dans la deuxième feuille nommée 
fréquence .
Désormais et dans l'enchaînement de ce traitement, nous souhaitons livrer une autre analyse. Deux tableaux sont prévus à cet effet dans la 
feuille stats_sortie .
C'est le premier tableau qui nous intéresse ici dans un premier temps, entre les colonnes C et H. Pour chacun des derniers tirages, nous devons inscrire les boules et le numéro chance sortis, dans une première ligne. Les 
fréquences respectives  qu'ils détenaient au moment où ils ont été appelés doivent être calculées dans chaque ligne du dessous.
Réintégrer le code VBA 
Nous l'avons expliqué dans un précédent volet, les antivirus sont sensibles au 
code VBA  que nous avons développé. Ils se trompent pourtant. Mais c'est la raison pour laquelle, nous devons néanmoins le réintégrer dans le projet.
A la racine du dossier de décompression, double cliquer sur le fichier texte pour l'ouvrir, 
Sélectionner tout son contenu (CTRL + A), 
Puis le copier (CTRL + C), 
Dès lors, revenir sur le classeur Excel (ALT + Tab), 
Basculer ensuite dans l'éditeur VBA Excel (ALT + F11), 
Dans l'explorateur sur la gauche, double cliquer sur l'élément Feuil1 (tirages), 
Nous affichons ainsi la feuille de code associée à la première feuille du classeur. Elle apparaît au centre de l'écran et elle est fort naturellement vierge.
Dans cette feuille de code, coller (CTRL + V) les lignes précédemment prélevées, 
En haut de l'éditeur, cliquer sur le menu Outils , 
Dans les propositions, choisir la rubrique Références , 
Dans la boîte de dialogue, cocher la case Microsoft Shell Controls And Automation , 
Puis, valider cette intégration par le bouton Ok, 
Dès lors, enregistrer le projet (CTRL + S), 
Nous l'avons dit dans les développements précédents, cette librairie est essentielle pour notamment exécuter des fonctions qui réalisent des actions empruntées aux commandes du DOS.
La procédure et ses variables 
Pour un code parfaitement structuré et articulé, nous proposons de réaliser ce développement dans une nouvelle procédure. Bien sûr, elle devra être appelée par la 
procédure stats_Click .
Après cette procédure stats_Click, créer la procédure freq_sortie  comme suit : Private Sub freq_sortie() 
Nous déclarons donc une tripotée de variables. Pour les analyses à engager, les traitements sont en effet relativement conséquents. Nous déclarons des 
variables de boucle  ainsi que des variables pour stocker et cumuler les 
fréquences  ou encore pour mémoriser les 
boules  et les 
numéros chance . Nous exploitons la 
fonction Redim  pour dimensionner les deux 
tableaux de variables  qui doivent mémoriser l'indice, le numéro de boule et sa fréquence. C'est la raison pour laquelle nous les dimensionnons sur trois colonne (1 to 3) mais aussi sur 240 lignes. En effet 48 tirages multipliés par 5 boules correspondent bien à une analyse de 240 sorties. Comme le tableau des numéros chance sera engagé sur la même boucle que celui des boules, nous le dimensionnons de la même façon, quitte à ne pas le remplir complètement. Puis, nous calons les indices de ligne et de colonne sur les premières données du tableau de la feuille tirages.
Fréquences des numéros chance 
Maintenant que les tableaux de variables sont dimensionnés, nous allons pouvoir les remplir. Nous allons commencer par le traitement le plus simple, celui des 
numéros chance . Un seul est en effet choisi par tirage. Pour les parcourir sur les 48 derniers tirages, nous devons engager une 
boucle For Next .
A la suite du code VBA , créer la double boucle  suivante : ... 
Nous engageons donc une 
première boucle  sur les 
48 derniers tirages , de la ligne 4 à la ligne 51. Nous réinitialisons la 
fréquence de sortie  (freqC = 0) pour qu'elle ne se cumule pas avec la précédente. En colonne H (8), nous prélevons le 
numéro chance  dans la 
variable bouleC . Puis, nous positionnons le curseur sur la ligne suivante (ligC = lig1 + 1). C'est ainsi que nous pourrons engager une 
boucle Do While  sur tous les tirages jusqu'à celui en cours d'analyse, sans l'inclure. C'est avec cette astuce que nous pourrons connaître la 
fréquence de sortie du numéro chance  au moment de son tirage. Nous remplissons alors le 
tableau de variables  des informations avec la 
fréquence cumulée  pour le 
numéro chance  en cours. Puis, nous inscrivons ce numéro et cette fréquence sur la 
feuille stats_sortie  en colonne 8 pour la ligne en cours et la suivante. Et nous n'oublions pas de sauter 3 unités (ligCR = ligCR + 3), pour la prochaine inscription, en raison de la configuration de ce tableau. De même, nous incrémentons la 
variable compteur  pour que les prochaines inscriptions se fassent sur la ligne suivante du 
tableau de variables .
Nous pouvons déjà tester ce premier traitement à ce stade. Mais pour cela, encore faut-il que la 
procédure freq_sortie  soit appelée par la 
procédure événementielle stats_Click .
A la fin de la procédure stats_Click , ajouter l'appel suivant : ...freq_sortie  
Enregistrer les modifications (CTRL + S) et revenir sur la première feuille du classeur, 
Cliquer sur le bouton intitulé Stats , 
Puis, cliquer sur l'onglet stats_sortie  pour afficher sa feuille, 
Comme vous pouvez le voir, les numéros et leurs fréquences respectives sont effectivement retournés dans les bons emplacements du tableau de réception.
Fréquences de sorties des boules 
Nous devons maintenant analyser les fréquences de sorties de chacune des cinq boules pour chacun des 48 derniers tirages. Pour cela, nous devons engager une nouvelle double boucle dans l'actuelle boucle For qui parcourt les lignes. En effet, en plus des lignes, nous devons parcourir les colonnes pour analyser les cinq numéros de chaque tirage.
A la suite du code, avant l'incrémentation du compteur, ajouter les instructions VBA suivantes : ...For col1 = 3 To 7 Next col1  
Pour chacun des 48 derniers tirages, nous parcourons les colonnes de la 3 à la 7, soit de la C à la G, celles des boules. Nous prélevons le numéro de la boule en cours dans la 
variable boule . Puis, nous parcourons tous les tirages (Do While Cells(ligD, 3).Value <> "") à partir de la ligne suivante (ligD = lig1 + 1). Pour chacun de ces tirages, nous analysons de nouveau chaque boule (For col2 = 3 To 7). Dès qu'un numéro concorde avec celui qui a été prélevé (If (Cells(ligD, col2).Value= boule) Then), nous incrémentons sa 
fréquence de sortie  (freq = freq + 1). A l'issue, nous remplissons le 
tableau de variables  nommé 
tabB . Enfin, nous restituons ces données sur les deux lignes correspondantes de la 
feuille stats_sortie . La 
variable compteur  doit être incrémentée dans cette 
boucle For .
Sauter trois lignes 
A chaque fois que le cinquième numéro est atteint, nous devons sauter trois lignes. C'est ainsi que nous pourrons poursuivre les inscriptions dans ce tableau architecturé d'une façon toute particulière. Pour cela, la question est de savoir si la valeur portée par la 
variable compteur  est un 
multiple de 5 . En effet, elle est incrémentée après chaque boule analysée. C'est bien sûr l'
opérateur Mod  que nous devons faire intervenir.
A la suite du code de la boucle For, ajouter les instructions VBA suivantes : ...colR = colR + 1  
Nous incrémentons naturellement la 
variable colR  d'une unité pour pointer sur la 
colonne suivante , pour chaque nouvelle boule. Mais si la 
fin de la rangée  est atteinte (If compteur Mod 5 = 0 Then), non seulement nous sautons 
trois lignes  (ligR = ligR + 3) mais en plus de cela, nous replaçons le pointeur sur la 
première colonne  (colR= 3) de la 
nouvelle ligne .
Récolter les fréquences 
Le développement de cette nouvelle étape est terminé. Il est temps de tester. 
Enregistrer les modifications et revenir sur la feuille tirages , 
Cliquer sur le bouton Stats  puis afficher la feuille stats_sortie , 
Comme vous pouvez l'apprécier, sur les 48 derniers tirages, pour chaque numéro appelé, nous obtenons sa fréquence avant sa nouvelle sortie. Le moins que l'on puisse dire est que ces fréquences sont majoritairement élevées. Donc, le concept des numéros les moins tirés semble tomber à l'eau. Dans un prochain volet, nous proposerons une idée pour suggérer des 
numéros à jouer , sur la base de ces 
fréquences de sorties  recoupées.