LOTERIE - VBA

JU405 Messages postés 7 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 avril 2008 - 17 févr. 2008 à 11:34
JU405 Messages postés 7 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 avril 2008 - 18 févr. 2008 à 19:53
Bonjour à toutes et tous !

Je dispose d'un fichier qui devrait me permettre, de semaine en semaine, de :


- colorer chaque chiffre sorti dans un tableau de résumé (OK)

- colorer chaque chiffre sorti pour chaque joueur (OK)

- calculer la moyenne des chiffres sortis (OK)

- me situer par rapport aux autres joueurs (OK)


En plus, je souhaiterais savoir, toujours de semaine en semaine donc
après un tirage et avant le suivant, s'il est toujours possible d'être
le gagnant unique de la loterie.

Pour cette question, je dois créer du code qui compare uniquement les cellules dont le fond est blanc (chiffres pas encore sortis) dans 2 plages de cellules : mes chiffres et ceux des autres joueurs. Donc pour tous les chiffres pas encore sortis, si personne n'a de chiffre égal aux miens, je peux espérer être le gagnant unique de la loterie, sinon pas.


Merci beaucoup !

8 réponses

cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011
17 févr. 2008 à 12:08
Bonjour,

Supposons que tes chiffres sont dans la plage soit C1 à C40. Voici un début de code:

For Each cell In Range("C1:C40")
   If Selection.Interior.ColorIndex = xlNone Then
'mettre ici tes autres test en if...then
End If
Next

Bon courrage
Liro
0
JU405 Messages postés 7 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 avril 2008
17 févr. 2008 à 13:03
Merci.

Voilà le détail de mon fichier pour y voir plus clair. Je ne vois plus les erreurs à force de le modifier !

"A4:A25"  =  noms des joueurs
"B4:B25"  =  chiffres des joueurs
"L4:L25"  =  nombre de chiffres sortis (bulletin de lotto de 10 chiffres, on [donc p-ê + qu'une personne] gagne si les 10 chiffres sont sortis)
"B38:K41", "B42:B43"  =  tableau de résumé des chiffres sortis

______________________________________

Option Explicit
Sub test()
Dim c1 As Range, c2 As Range, c3 As Range, c4 As Range, c5 As Range, c6 As Range, plage1 As Range, plage2 As Range, masomme As Integer, ligne As Integer, total As Integer

For Each c1 In Range("B4:K25")
    For Each c2 In Range("B27:G36")        If c1.Value c2.Value Then c1.Interior.ColorIndex c2.Interior.ColorIndex: Exit For
    Next c2
Next c1
For Each c1 In Range("L4:L25")
    masomme = 0
    For Each c2 In Range(c1.Offset(0, -10), c1.Offset(0, -1))
        If c2.Interior.ColorIndex <> xlNone Then masomme = masomme + 1
    Next c2
    c1.Value = masomme
Next c1
For Each c3 In Range("B38:K41", "B42:C42")
    For Each c2 In Range("B27:G36")
    If c3 <> "" Then            If c3.Value c2.Value Then c3.Interior.ColorIndex c2.Interior.ColorIndex: Exit For
End If
       
    Next c2
Next c3

Range("A16,L16").Select
    With Selection.Interior
        .ColorIndex = 7
        .Pattern = xlSolid
    End With

For ligne = 4 To 25

For Each c4 In Range("B4:K15", "B17:K25") ' Les autres
    For Each c5 In Range("B16:K16")       ' Moi
        For Each c6 In Range("B4:K25")    ' Tout

If ligne < 26 Then    If c6.Interior.ColorIndex xlNone And c4.Value c5.Value Then total = total + 1

Cells(ligne, 19).Value = total

End If

Next c5
Next c4
Next ligne

End If

End Sub

MERCI BEAUCOUP !!!
0
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011
17 févr. 2008 à 13:55
Bonjour Ju,

As-tu résolu ton pb?

Si oui penses à cocher "reponse accéptée" pour que les gens qui parcours le forum trouvent eux aussi des réponses à leurs questions.

Liro
0
JU405 Messages postés 7 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 avril 2008
17 févr. 2008 à 14:07
Bonjour Liro !

Merci pour ton aide, c'est comme ça que j'avais commencé ma résolution.

Non, je n'ai toujours pas la solution à mes problèmes.

Je ne parviens toujours pas à :

1.) indiquer, au fur et à mesure des tirages, en "S4:S25" le nombre de chiffres communs aux miens qui ne sont pas encore sortis
2.) indiquer, toujours au fur et à mesure des tirages, que si aucun des autres joueurs n'a les mêmes nombres non encore sortis que moi, je peux être le gagnant unique de la lotterie, et non dans le cas contraire.

-->  "Oui" / "Non" en "N27"

Ce serait sympa que toi ou qqn d'autre puisse reconstituer mon programme et voir ce qui ne va pas.

Merci à toutes et tous !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011
17 févr. 2008 à 15:03
Pour 1) où souhaite tu l'indiquer? Dans une cellule ou un msgbox?
Comment le tirage est-il effectué?
Es-ce que le fichier tire des nombres au hasard? Si oui à quand? Ou es-ce que le tirage est externe au fichier et que tu entres simplement le résultat?

Peux-tu envoyer ton fichier car ce n'est pas facile de tout comprendre.

Liro
0
JU405 Messages postés 7 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 avril 2008
17 févr. 2008 à 15:17
- Indiquer les nombres dans la plage "S4:S25"
- Indiquer la réponse dans "Oui"/"Non" en "N27"
- Les nombres sortis sont indiqués dans la plage "B27:G36"

Je cherche à joindre le fichier mais ce n'est pas clair sur le site.

Merci de m'aider.
0
JU405 Messages postés 7 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 avril 2008
17 févr. 2008 à 15:22
http://spreadsheets.google.com/ccc?key=plTgGZkB2zUN01Q8Gb_i5Og&hl=en est le l ien menant au fichier.

Encore merci pour l'aide.

* J *
0
JU405 Messages postés 7 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 avril 2008
18 févr. 2008 à 19:53
RÉGLÉ !
0
Rejoignez-nous