Bonjour,
Je cherche de l'aide en VBA sur Excel. Je connais plutôt bien Excel que je pratique depuis 30 ans, mais pas VBA.
Je me suis intéressé au SUDOKU et je suis au niveau 9. Je ne recherche pas de programme de résolution de grille (on en trouve beaucoup sur Internet) mais je cherche à mettre en forme de manière automatisée des grilles que je trouve sur internet et que je mets sur Excel afin de les imprimer dans une taille plus grande que les magazines vendus en kiosque, afin de les résoudre de manière classique.
Pour résoudre une grille, j’identifie pour chaque cellule vide les candidats potentiels et je les écris au crayon. Ce qui m'amène à 2 méthodes:
- J’écris les chiffres à la suite des uns des autres dans chaque case vide, mais ce n’est pas visuel, donc moins efficace.
- Dans chaque case vide, je les écris en 3 lignes de 3 chiffres de manière à ce que les chiffres potentiels soient toujours situés au même endroit dans la case (le 1 en haut à gauche, le 2 à sa droite, le 3 en haut à droite, le 4 à gauche de la seconde ligne, etc... pour finir avec le 9 en bas à droite). C'est beaucoup plus visuel mais ça fait des petits chiffres et ce n’est pas toujours bien ordonné. C’est pour ça que je voudrais formater mes cases vides pour avoir un guide.
J’imagine le principe suivant :
- Je divise chacune des 81 cases Sudoku en 9 cases plus petites (3 lignes et 3 colonnes) J'ai donc une grille de 729 cases.
- Je fusionne chaque ensemble de 9 cases (dans chacune des 81 cases sudoku) pour une facilité de saisie. Ça me ramène à une apparence de 81 cases.
- A ce stade, j’ai ma grille « master » vide.
- Je saisis les chiffres de la grille choisie sur Internet (comportant un peu plus de 20 chiffres en général)
- Dans chaque case sans chiffre, je dé-fusionne les 9 cases et je formate en gris clair les bordures internes des 9 cases. Comme cela, lorsque j’imprime la grille, j’ai une trame dans chaque case vide qui me permet d’écrire mes candidats potentiels avec précision.
C’est pour ce travail de dé-fusionnage/bordures –pour lequel je n’ai pas trouvé de fonctions Excel, même en formatage conditionnel- que je souhaite utiliser VBA. Je peux le faire manuellement, mais c’est laborieux et peu satisfaisant intellectuellement !
Voilà, j’espère que c’est assez clair. Merci à celles et ceux qui pourront m’apporter la lumière !
Partager