mastermind sur excel

Loison

XLDnaute Nouveau
Bonjour, je dois réaliser un jeu pour les cours , j'ai décidé de faire un mastermind sur excel , je l'ai réalisé mais je bloque sur quelque chose. Je voudrais établir un record a battre pour les joueurs. Le record se baserait sur le nombre de coups réalisé pour trouver la solution celui ayant fait le moins de coup a le record. Le problème est que je n'arrive pas a garder le record indéfiniment il s'efface a chaque partie que je fais. Je sais qu'il faudrait faire une macro pour cela mais je n'y arrive pas.
Merci de votre réponse.
 

chris

XLDnaute Barbatruc
Bonjour

Si cela doit être conservé le temps d'une session Excel, on peut stocker les infos de la partie dans un tableau (array) static ou, comme dans le cas, où cela doit être conserver sur plusieurs sessions, dans un tableau d'une feuille masquée.
 

Paf

XLDnaute Barbatruc
Re et bonjour chris,

toujours pas pu ouvrir, mais:

si le résultat est en B2 et le record en B3, dans la feuille de code de la feuille concernée:

VB:
Private Sub Worksheet_Calculate()
Range("B3") = Application.WorksheetFunction.Min(Range("B3"), Range("B2"))
End Sub

A+
 

Paf

XLDnaute Barbatruc
Re,

Dans la feuille de code de la feuille Mastermind :

VB:
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
With Worksheets("Accueil")
If .Range("L10") = "" Then
    .Range("L10") = Range("B11")
    .Range("I10") = Range("B8")
Else
    If Range("B11") < .Range("L10") Then
        .Range("L10") = Range("B11")
        .Range("I10") = Range("B8")
    End If
End If
End With
Application.EnableEvents = True
End Sub

Et, pour éviter le #NA ( et le plantage du code) en début de partie, en B11 de la feuille Mastermind , il faudrait utiliser la fonction sierreur() => =sierreur(RECHERCHEV(4;D13:E36;2;FAUX); "")


Par ailleurs, dans les différentes sub, pour 'vider' la zone de saisie, plutôt que de le faire cellule par cellule, on pourrait utiliser:
VB:
Worksheets("Mastermind").Range("F13:I36").ClearContents

A+

edit: rajout de la modification formule
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
re,

désolé, impossible de convertir votre classeur pour Excel 2003 (plantage à répétitions). Si vous pouviez joindre une version exploitable (.xls)

A+
Pour le fun...
ça marchait il y a déjà 15 ans ...
;):rolleyes: ça marche encore !!!
upload_2016-11-28_23-42-37.png


Ouppppsssss...
je n'ai pas retrouvé les sons.wav :(
 

Pièces jointes

  • GD_mind.xls
    174.5 KB · Affichages: 81

Paf

XLDnaute Barbatruc
Bonjour Modeste geedee, et merci...

mais ma demande n'avais pas pour but de jouer , mais d'essayer d'apporter une solution à Loison.

@ Loison : curieux Calculate ne se déclenche pas

essayer de lancer cette macro:
VB:
Sub Macro()
Application.EnableEvents = True
End Sub

puis supprimer du code proposé au post 9, les deux lignes : Application.EnableEvents =...

A+
 

Discussions similaires

Réponses
16
Affichages
554
Réponses
5
Affichages
139

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal