[Challenge VBA] Une sorte de Boogle - Aide demandée

Staple1600

XLDnaute Barbatruc
Bonsoir et bonne nuit à tous

Appel à tous les VBAistes du forum: si les idées saugrenues ne vous effraient pas
Si vous avez un peu de temps à perdre.
Je vous invite à m'aider à finaliser le classeur ci-joint

Les détails sont dans le classeur:

Il y de l'ALEA(), du CAR() , du MAINTENANT()

Un code VBA de MichelXLD (Temporisation)

Le but: afficher le mot EXCEL de manière aléatoire

(comme dans le jeu Boogle)

Merci à tous ceux qui liront ce post.
 

JNP

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Bonjour Stapple :),
Si tu fait une boucle I de 2 à 6 en contrôlant la valeur :
Cells(2, I).Value & Cells(3, I).Value & Cells(4, I).Value & Cells(5, I).Value & Cells(6, I).Value = "EXCEL"
et
Cells(I, 2).Value & Cells(I, 3).Value & Cells(I, 4).Value & Cells(I, 5).Value & Cells(I, 6).Value = "EXCEL"
Ça devrait le faire... (où alors j'ai rien compris :eek:)
A + :cool:
 

porcinet82

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Salut,

Voici un bout de code qui a l'air de fonctionner :
Code:
Sub maMacro()
'////ajout JM//////
'1ère solution
Application.Calculate
'2ème solution
'SendKeys "{F9}"
'///////////////////
Range("B64") = Range("B64") + 1 'incementation de la cellule B65
Range("B67") = Time
'verif si EXCEL est ecrit en ligne ou en colonne
For i = 2 To 6
    mot1 = ""
    mot2 = ""
    For j = 2 To 6
        mot1 = mot1 & Cells(i, j).Value
        mot2 = mot2 & Cells(j, i).Value
    Next j
    If mot1 = "EXCEL" Or mot2 = "EXCEL" Then
        Call Finir
        Exit Sub
    End If
Next i
If Range("M2") = 1 Then ' terminer la procedure si la cellule A1=1
    Finir
    Exit Sub
End If
Temporisation
End Sub

En meme tps, ca ressemble pas mal a la proposition de JNP ;)

@+
 

Staple1600

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Bonjour JNP, porcinet82


Z'êtes trop rapide, trop fort les gars !!! ;)

Je viens juste de me lever.

Pas encore pris mon café.

Et déjà la solution.

Tu parles d'un challenge, Solange !!

Je bois mon café, et je teste vos codes.

Merci à tous les deux.
 

Staple1600

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

RE




J'ai lancé le test

Au cas ou cela prenne un certain temps

Quelqu'un pourrait-t-il calculer la probabilité qu'apparaissent effectivement

le mot EXCEL en horizontal ou vertical?

et estimer le temps que cela prendra?

Sachant que la macro se lance toutes les 1 seconde.

Histoire de savoir quand est-ce que je pourrais éteindre l'ordi ;)
 

porcinet82

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

re,

Je ne suis pas trop sur du calcul (il faudrai un vrai mathématicien...), mais tout ce que je peux dire, c'est que la proba doit etre assez faible.
En effet, il s'agit d'arriver a mettre dans l'ordre 5 lettres parmi 26 sachant que les lettres peuvent etre affichées plusieurs fois. Je dirais que ca fait environ une chance sur 12 millions (26^5), mais je ne suis vraiment pas sur...

@+
 

JNP

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Re :),
Les probas sont assez loin pour moi, mais en principe, tu as 1 chance sur 26 pour chaque lettre soit 26 à la puissance 5, soit 11 881 376 combinaison (pas mal Porcinet ;)), mais il ne faut pas oublier que cela peut arriver 5 fois en horizontal et 5 fois en vertical, donc je diviserais par 10, soit 1 chance sur 1 118 137,6 (désolé Porcinet :eek:).
Maintenant, même si la macro se lance toutes les 1 seconde, le traitement se rajoute. En faisant l'impasse dessus, ça nous fait quand même 13 jours et 18 heures...
Bon courage :cool:
 

jmd2

XLDnaute Accro
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Bonjour

ce serait le temps moyen pour obtenir le mot EXCEL.

Mais laissez mouliner, et si on est des milliers à le faire, certains auront fini en 1 jour (ou en 1 seconde), d'autres attendront des mois ou des années !

comme au loto :D
 

MJ13

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Bonjour à tous

Sympa ton fichier Jean Marie.

Moi je l'ai eu en 38 secondes. Vous croyez que je dois jouer à l'EuroMillion ce soir!
 

Pièces jointes

  • Excel en 38 secondes .jpg
    Excel en 38 secondes .jpg
    18.9 KB · Affichages: 117

Staple1600

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Re



En simplifiant (parce que 18 jours c'est long ;) )

en A1:E1

cette formule:
=CAR(INDEX({69;88;67;69;76};ALEA.ENTRE.BORNES(1;5)))

En combien de temps EXCEL apparait?

Et combien de chance que cela se produise?

A vos calculatrices !
 
Dernière édition:

porcinet82

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Salut,

Heuuu, Michel, le but (et nos calcul) était d'avoir le mot Excel ecris dans l'ordre en vertical ou en horizontal, et non, d'avoir les lettres pour le former. ;)
Sinon, en mettant dans la plage B2:F6, la proba, si on se base sur nos hypothèse précédente serait de 5^5/10, soit environ 1 chance sur 300...

@+

Edition : J'ai lancer le test sur mon pc pour voir et ca a mis 256 tentatives !!!
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Bonjour à tous,

Entre la solution de Michel en 38 secondes et dans le désordre et 200 000 ans, déterminer en combien de temps me semble bien difficile.

Fichier initial, agrémenté de la modif.de Romain, tourné près de 10 heures, sans rien.... Que ce soit dans l'ordre annoncé au départ ou dans le désordre....

L'avantage, toutefois, c'est que l'on peut toujours travailler sous excel (un peu au ralenti, mais bon).

Les probas.donnent évidemment une idée (14 jours me semble raisonnables), mais à condition que toutes les solutions ne sortent qu'une fois.....

Pour rigoler, ce n'est pas le nombre d'heures ou de jours qui faut chercher, mais le nombre d'ordis. qu'il risque de falloir pour y arriver....

Moralité, c'est comme la chance ou la malchance, plutôt, qu'un astéroïde frappe la terre et touche le sommet de la Tour Eiffel.

Voilà.
 

Staple1600

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Bonjour à tous (merci de votre intérêt pour ce projet capital ;) )


Voici une version simplifiée (mais que je crois biaisée)

Qui pourra me renseigner,svp?


Quelles sont cette fois-ci les chances qu'apparaissent EXCEL

--> porcinet82: j'ai modifié ton code (j'espère n'avoir pas fait d'erreur)
(Peux-tu confirmer , stp, merci)

EDIT: Nouvelle version du fichier
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

Re bonjour,

Ok j'avais pas ton lu sur le test du premier fichier mais bon je l'avais dans le désordre le tiercé et pas une lettre en plus du mot tant recherché.

Le fin du fin ce serait que le programme s'arrête tout seul lorsque le mot Excel s'affiche. Ainsi on peut en profiter pour aller faire son loto!
 

porcinet82

XLDnaute Barbatruc
Re : [Challenge VBA] Une sorte de Boogle - Aide demandée

re,

Le code modifié (car tu t'etais un peu trompé ;)) :
Code:
Sub maMacro()
'////ajout JM//////
'1ère solution
Application.Calculate
'2ème solution
'SendKeys "{F9}"
'///////////////////
Range("J3") = Range("J3") + 1 'incementation de la cellule B65
Range("K7") = Time
'code verif: Porcinet82
'verif si EXCEL est ecrit en colonne
mot1 = ""
For j = 2 To 6
    mot1 = mot1 & Cells(2, j).Value
    If mot1 = "EXCEL" Then
        Call Finir
        Exit Sub
    End If
Next j
If Range("I3") = 1 Then ' terminer la procedure si la cellule I2=1
    Finir
    Exit Sub
End If
Temporisation
End Sub

Lorsque je l'ai lancé la première fois, il a trouvé EXCEL en 20 tentatives. J'ai relancé un test que j'ai arrété apres les 150 tentatives...
Apres, tu dis biaisé, ca depend de ce que tu veux faire, puisqu'on pourrait parler de biais deja par le fait que tu ne prennes que 5 lettres de l'alphabet.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi