Mon code ferme excel
Résolu
VicKing
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je code le jeu du taquin en VBA avec excel, et je dois avoir une boucle infinie car une fois lancé, le programme ne s'arrete plus.
help pls !!!
voila mon code:
Si il existe une âme charitable qui a trouve mon erreur, il sera mon héros pendant loooongtemps!
Victor H
je code le jeu du taquin en VBA avec excel, et je dois avoir une boucle infinie car une fois lancé, le programme ne s'arrete plus.
help pls !!!
voila mon code:
Option Explicit Sub jeuduTaquin_vba() Dim Taquin(3, 3) As Integer Dim continuer As Boolean Dim x As Single Dim case_vide_ligne As Integer Dim case_vide_colonne As Integer Dim ligne As Integer Dim Nb As Integer Dim colonne As Integer Dim coup As Integer Dim verification As Integer Dim verification_ligne As Integer Dim verification_colonne As Integer Dim entree As Integer Dim entree_ligne As Integer Dim entree_colonne As Integer Dim ind1 As Integer Dim ind2 As Integer Call MsgBox("Vous allez entrer dans le jeu du taquin dont le but est de résoudre un damier 3x3 aux valeurs aléatoires en un damier aux valeurs qui se suivent. Pour y arriver, vous avez une case vide, vous ne pouvez donc que déplacer une case adjacente à la case vide dans cette dernière. Le damier gagnant est comme suit") Call MsgBox("la case comportant le 0 etant la case vide") continuer = True For ind1 = 1 To 3 For ind2 = 1 To 3 Taquin(ind1, ind2) = 0 Next Next entree = 0 entree_ligne = 1 entree_colonne = 1 Do While entree <= 8 Randomize Nb = Int(7 * Rnd + 1) If (Nb <> Taquin(1, 1)) And (Nb <> Taquin(1, 2)) And (Nb <> Taquin(1, 3)) And (Nb <> Taquin(2, 1)) And (Nb <> Taquin(2, 2)) And (Nb <> Taquin(2, 3)) And (Nb <> Taquin(3, 1)) And (Nb <> Taquin(3, 2)) And (Nb <> Taquin(3, 3)) Then Taquin(entree_ligne, entree_colonne) = Nb Cells(entree_ligne, entree_colonne).Value = Taquin(entree_ligne, entree_colonne) entree = entree + 1 If entree_colonne = 3 Then entree_colonne = 0 entree_ligne = entree_ligne + 1 End If entree_colonne = entree_colonne + 1 End If Loop case_vide_ligne = 3 case_vide_colonne = 3 Do While continuer = True Call MsgBox(Taquin(1, 1), Taquin(1, 2), Taquin(1, 3)) Call MsgBox(Taquin(2, 1), Taquin(2, 2), Taquin(2, 3)) Call MsgBox(Taquin(3, 1), Taquin(3, 2), Taquin(3, 3)) ligne = InputBox("entrer la ligne de la case a deplacer dans la case vide") colonne = InputBox("entrer la colonne de la case a deplacer dans la case vide") If (((case_vide_ligne = ligne) And (case_vide_colonne = colonne + 1)) Or ((case_vide_ligne = ligne) And (case_vide_colonne = colonne - 1)) Or ((case_vide_ligne = ligne + 1) And (case_vide_colonne = colonne)) Or ((case_vide_ligne = ligne - 1) And (case_vide_colonne = colonne))) Then Taquin(case_vide_ligne, case_vide_colonne) = Taquin(ligne, colonne) Taquin(ligne, colonne) = 0 case_vide_ligne = ligne case_vide_colonne = colonne coup = coup + 1 Else Call MsgBox("la ligne et la colonne saisie ne correspondent pas a une case adjacente a la case vide") End If verification = 1 For verification_ligne = 1 To 3 For verification_colonne = 1 To 3 If Taquin(verification_ligne, verification_colonne) = verification Then verification = verification + 1 End If Next Next If verification = 8 Then Call MsgBox("FELICITATIONS VOUS AVEZ COMPLETEZ LE JEU EN", coup, "COUPS") continuer = False End If Loop End Sub
Si il existe une âme charitable qui a trouve mon erreur, il sera mon héros pendant loooongtemps!
Victor H
Configuration: Windows / Chrome 81.0.4044.138
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Mon code ferme excel
- Code ascii - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide