[Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les amis

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Dans la série de mes futilités vbaistes et autres

Et parce ce que je n'ai pas épuisé ma pile de vieux Sciences et Vie

Après la fourmi de Langton, je vous propose de jouer avec une grille et des dominos.

J'espère que le sujet vous intéressera.

(J'espère aussi qu'Excel sera vaillant et VBA puissant dans cette affaire ;)

Pour tout comprendre , je vous invite soit à relire le Science et Vie (n° 921 juin 1994) , ou d'ouvrir la pièce jointe toute pleine de dominos.
 

Gruick

XLDnaute Accro
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Bonjour Staple1600,

Tu dois bien te douter que j'ai ce numéro 922 en main. Mais la solution qu'il propose ne reprend pas la grille n°1 parue dans le 921, même si ça ressemble. Une coquille donc.
Bof.
En ce qui concerne le jeu lui même, j'ai fait un programme mais pour compliquer, je l'ai fait jouer à l'américaine, au 5 partout si tu préfère, et lui ai fait compter les points. En plus, l'ordinateur joue.
Si tu as envie d'améliorer... ou de finaliser, car j'ai quelques impasses.

Gruick
 

Pièces jointes

  • DOMINOS.xls
    22.5 KB · Affichages: 189

Staple1600

XLDnaute Barbatruc
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Bonjour Gruick


Tu as solutionné la chose à la mimine ?

Car je vois pas trace de code VBA dans ta pj.


Merci de méviter d'avoir à chercher le 922 ;)
 

Gruick

XLDnaute Accro
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

re,

Voui, à la souris, en plus, comme c'est mal expliqué sur le 922, je ne vois pas comment faire, mais j'y réfléchis.
Ce qui serait rigolo, c'est de faire une grille, et un autre programme pour la résoudre.
Le Sudoku, à côté, c'est de la gnognotte.
Tiens, 2 millions de neurones en moins qui me disent bye bye....

Il faudrait proposer à notre David XLD une rubrique "Challenge" dans laquelle on mettrait nos idées, sur lesquelles on plancherait pour faire des trucs géniaux, forcément.

Gruick.
 

Staple1600

XLDnaute Barbatruc
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Bonjour Gruick


Tu m'intrigues avec ton programme " à l'américaine"

C'est en VBA ?

On peut voir la chose ?

Bonne idée que la création d'un zone Challenge

(Bien que celui-ci ne rencontre pas un grand succès ;) )
 

Staple1600

XLDnaute Barbatruc
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Re Gruick



Moi non plus je vois pas trop pour le moment par quel bout prendre la chose


Pour me mettre en train

J'ai commencé ainsi :

Code:
Sub onestpasrendu()
Dim i As Long, dominos$
dominos = "00010203040506111213141516222324252633343536444546555666"
For i = 1 To Len(dominos) Step 2
Debug.Print Mid(dominos, i, 2)
Next i
MsgBox (Len(dominos) / 2) & " dominos"
End Sub

Ensuite ca se corse et là j'ai besoin de vous les amis.
 

Gruick

XLDnaute Accro
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

bonjour Staple1600,
Mon programme de dominos "déconne", je veux bien te le poster, mais en MP, j'ai abandonné en 2007 je ne m'en souviens plus très bien.
Il faudrait que je m'y replonge, ou un oeil neuf... le tien peut-être ?:rolleyes:

Tu trouveras les règles ici
5 partout - regle du jeu de domino

A te lire

Gruick
 
Dernière édition:

Mytå

XLDnaute Occasionnel
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Salut le forum

Le traitement reste à optimiser pour la rapidité de la résolution

Mytå
 

Pièces jointes

  • Dominos.zip
    21.7 KB · Affichages: 95
  • Dominos.zip
    21.7 KB · Affichages: 93
  • Dominos.zip
    21.7 KB · Affichages: 93

Mytå

XLDnaute Occasionnel
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Re le forum

Staple1600, la participation n'est pas très forte.

Une version pour résoudre la grille à la main :Jouer_Grille.xls

Cliquer sur Initialisation et ensuite cliquer sur un domino...

Fait sous Excel2007, risque de bogue sous version antérieur.
(Objet groupé et Application.Caller)

Mytå
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Bonsoir Mytå, les gens du fil, le forum

Waouh ! :eek:

Malheureusement comme tu l'avais prédit ne fonctionne pas sous XL 2000

Mais quel plaisir de lire un si beau code VBA?

Je vais essayer de voir comment modifier pour Excel 2000

(C'est faisable j'espère ?)

Un grand merci à toi en tout cas pour ce superbe classeur.

PS: la participation est moindre car le fil est dans le salon.

Mais je suis patient ;)
 

Mytå

XLDnaute Occasionnel
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Re le forum

Staple1600, essaye le fichier suivant : Fichier de test

Mytå
 

Staple1600

XLDnaute Barbatruc
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Re


Erreur d'exécution 438 (sur le fichier test)

Par contre cela fonctionne
Code:
Sub toto()
MsgBox Application.Caller & Chr(10) & Feuil1.Shapes(Application.Caller).Name
End Sub
 

Mytå

XLDnaute Occasionnel
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Re le forum

Staple1600, essaye en remplacant la macro dans mon fichier.

J'utlise les deux derniers chiffres dans mon code par la suite
Code:
Private Sub MacroPourShape()
 'Appliquer la macro "ActionSurShape" aux Dominos
    
  For Each Shp In ActiveSheet.Shapes
    Shp.OnAction = ""
      Shp.OnAction = "ActionSurShape"
  Next Shp
  
End Sub
Mytå
 

Staple1600

XLDnaute Barbatruc
Re : [Amusement] Science et vie BIS, les dominos et VBA, venez vous y coller, les ami

Re

Ca ne change rien

J'ai été voir dans l'aide VBA et adaptant les exemples, j'obtiens le nom des groupe ainsi
Code:
Sub test()
Set myDocument = Worksheets(1)
With myDocument.Shapes
numShapes = .Count
If numShapes > 1 Then
j = 1
ReDim ShpArray(1 To numShapes)
For i = 1 To numShapes
ShpArray(j) = .Item(i).Name
j = j + 1
Next
End If
For k = 1 To UBound(ShpArray)
MsgBox "Nom du groupe N° " & k & ": " & ShpArray(k)
Next
 
Dernière édition:

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87