Sudoku Solution sous EXCEL

Soyez le premier à donner votre avis sur cette source.

Vue 6 041 fois - Téléchargée 1 018 fois

Description

Cette idée trotait dans mon esprit depuis longtemps : résoudre un SUDOKU sous EXCEL.

Version 0 : (simple)
2 Grilles :
- La grille d'origine du SUDOKU à résoudre
- La grille de solution

3 procédures :
- Init qui initialise la Grille Solution.
- Soluce : qui lance la résolution
- Passe : qui effectue une passe

Algorithme :
- Au départ : chaque case pourrait recevoir un chiffre de 1 à 9.
- Ensuite : on supprime les chiffres de la ligne en cours.
- Ensuite : on supprime les chiffres de la colonne en cours.
- Ensuite : on supprime les chiffres de la Zone 3 x 3 en cours.
- Puis s'il reste un seul chiffre : le recopier vers la grille d'origine.

Et on recommence ..
On s'arrête dès que la grille est pleine.
==========================================================================
Version 1 : (améliorée)
4 Niveaux : Facile, Moyen, Difficile, Demoniac

4 Grilles :
- La grille d'origine du SUDOKU à résoudre
- La grille de travail
- La grille vierge
- La grille de solution

5 procédures :
- Init qui initialise les Grilles.
- Vider_Grilles qui recopie la grille vierge sur les 3 autres (contenu et format)
- Creer_Grille : qui créer une grille dépendant du niveau choisi
- Creer_Grille_et_Resoudre : appelle Creer_Grille puis lance la résolution
- Passe : qui effectue une passe

Algorithme :

Création:
- Au départ :
Ligne 1 : 1 2 3 4 5 6 7 8 9
Ligne 2 : 4 5 6 7 8 9 1 2 3
Ligne 3 : 7 8 9 1 2 3 4 5 6

Ligne 4 : 2 3 4 5 6 7 8 9 1
Ligne 5 : 5 6 7 8 9 1 2 3 4
Ligne 6 : 8 9 1 2 3 4 5 6 7

Ligne 7 : 3 4 5 6 7 8 9 1 2
Ligne 8 : 6 7 8 9 1 2 3 4 5
Ligne 9 : 9 1 2 3 4 5 6 7 8

ensuite mélanger aléatoirement
échanger lignes 1 et 2 : échanger colonnes 1 et 2
échanger lignes 1 et 3 : échanger colonnes 1 et 3
échanger lignes 2 et 3 : échanger colonnes 2 et 3

ainsi de suite ..

Réolution :
- Au départ : chaque case pourrait recevoir un chiffre de 1 à 9.
- Ensuite : on supprime les chiffres de la ligne en cours.
- Ensuite : on supprime les chiffres de la colonne en cours.
- Ensuite : on supprime les chiffres de la Zone 3 x 3 en cours.
- Puis s'il reste un seul chiffre : le recopier vers la grille d'origine.

Et on recommence ..
On s'arrête dès que la grille est pleine.
MAIS il y a un HIC :
Au niveau Difficile et Demoniac : ca bloque.

- Manuellement : je choisis un cellule pouvant recevoir deux chiffres !
J'en pose un au hasard dans la grille à résoudre et je lance une passe.
si ca bloque de nouveau je répète cette opération.

Dans une prochaine version, je tenterais de la programmer

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017
7
Salut Hoby

Bon début de programme pour résoudre les grilles faciles.
Bon courage pour la suite, je sais que ça peut devenir très compliqué avec les grilles difficiles.

Carlvb
Messages postés
86
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
26 mai 2019
>
Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017

Bonjour
Je maitrise EXCEL TABLEUR depuis 30 ans.
Mais je débute dans les MACROS.
Je sais qu'avec d'anciennes versions d'EXCEL on pouvait créer un bouton qui lance la macro !
Mais je ne trouve plus ces boutons !
Messages postés
2237
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
2 octobre 2020
114 >
Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017

Bonsoir

Réalisation soignée
Manque un bouton pour afficher la solution ( je ne suis pas un expert Excel) alors je dis peut-être une bêtise
Un salut à Carlvb

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.