Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Quizz musical

Belsebou

XLDnaute Nouveau
...le retour puisque certaines discussions du 11/12 ont disparu
Je reprends donc ce que j'avais énoncé et reçu:

Bonjour et merci à ceux qui s'intéresseront à ma demande,
Pour les fêtes de fin d'année je souhaitais faire un petit programme sur le principe suivant:
1/ un répertoire avec des musiques/chansons en MP3 ou WMA...
2/ un programme sous excel qui lancerait d'une façon aléatoire les musiques de ce répertoire (en évitant de répéter celles déjà lancées) quand on appuie sur un bouton.
3/ un bouton qui permet d'afficher la solution du genre: titre/interprète/...

pour le répertoire 1 je sais faire
pour lancer une musique je sais presque faire: j'ai récupérer sur le forum des idées du genre;

Sub PlayOn()
Song = "D:\TEST.mp3"
Call PlaySong(True)
End Sub

mais avec ça je lance toujours la même musique...
ma question est donc la suivante:
comment lancer d'une façon aléatoire une chanson/musique d'un répertoire donné?

pour le point 3 si vous avez des suggestions je reste ouvert à toutes propositions honnêtes et respectables

amicalement,************
Titre : Re : Jeux de chansons
Envoyé par : job75
Le : 11/12/2009 à 18h00

Bonsoir Belsebou,

Perso je créerais un tableau constitué de la manière suivante :

- colonne A => le nom du fichier son

- colonne B => vide au départ, elle est destinée à recevoir un "X" pour chaque fichier son exécuté

- colonne C => titres

- colonne D => interprètes, etc...

Puis je ferais une macro qui :

- tirerait au sort une ligne du tableau (plusieurs exemples sur ce forum), en refaisant un tirage si la colonne B contient "X"

- afficherait une MsgBox [*Edit* : ou un UserForm] pour indiquer le titre etc...

- exécuterait le fichier son

- cocherait la colonne B

- puis répèterait tout ça jusqu'à ce que tous les fichiers soient cochés.

A+************
Titre : Re : Jeux de chansons
Envoyé par : kllmoon
Le : 11/12/2009 à 19h09

Salut Belzebou, comme tu es nouveau, voici pour t'aider à débuter :


Code :
---------
Dim variable As Integer 'ceci est ton numéro au hazard
Dim variable2 As String 'ceci sera le nom de ta chanson en collonne A
Dim x As Integer ' x et y servent à vérifier si toutes les chansons ont été jouées
Dim y As Integer
x = [COUNTA(A1:A6000)]
y = [COUNTA(B1:B6000)]
If x = y Then Columns("B:B").ClearContents
' si les chansons ont toutes été jouées alors on repart le compte à zéro, s'il y a autant de x que de noms de chanson
1: variable = Int((10 - 1 + 1) * Rnd + 1)
' c'est ici que l'on pige au hazard
If Range("B" & variable).Value = "x" Then GoTo 1
' si le hazard tombe sur un x on recommence
variable2 = Range("A" & variable).Value
Range("B" & variable).Value = "x"
' insère ici le code pour jouer ta chanson avec le format Song = "D:\" & variable2 & ".mp3"
---------
ajout modif : si tu mets ta colonne B avec la police en blanc alors ça ne paraît même pas et c'est plus propre ************

Titre : Re : Jeux de chansons
Envoyé par : job75
Le : 11/12/2009 à 19h23

Salut kllmoon,

Juste un lapsus je pense au lieu de :

variable = Int((10 - 1 + 1) * Rnd + 1)

il faut utiliser :

variable = Int(x * Rnd + 1)
A+

Je remercie donc job75 et kllmoon pour leurs premières contributions même s'ils ne répondent pas tout à fait à mon problème:
comment lancer d'une façon aléatoire une chanson/musique d'un répertoire donné?
 

JNP

XLDnaute Barbatruc
Re : Quizz musical

Bonsoir Belsebou ,
Pour commencer, il faudrait que tu postes la sub PlaySong, que l'on sache ce qu'il y a dedans...
Ensuite, les réponses correspondent bien à ce que tu cherches, vu que tu as le chemin Song à la fin de la macro qui doit te servir à lancer la chanson aléatoire, à condition bien sûr que tu ait tous les chemins dans la colonne A.
Enfin, pour ton N°3:
Code:
Sub Infos()
Set myShell = CreateObject("Shell.Application")
Set myFolder = myShell.Namespace("Chemin du dossier")
Set myFile = myFolder.Items.Item("Nom du fichier")
For i = 1 To 21
MsgBox "N°" & i & ": " & myFolder.GetDetailsOf(myFile, i)
Next i
End Sub
te permettra de récupérer les infos, dont l'artiste et le nom (si tes fichiers sont biens renseignés...)
Pour remplir ta colonne A, il te suffit d'une petite macro décrivant les dossiers et sous dossiers.
Bon courage
 

Belsebou

XLDnaute Nouveau
Re : Quizz musical

 

JNP

XLDnaute Barbatruc
Re : Quizz musical

Re ,
Comme je l'ai écrit
Pour remplir ta colonne A, il te suffit d'une petite macro décrivant les dossiers et sous dossiers.
Par contre je ne l'ai pas sous la main... Il faudrait faire une recherche avec Dir* sur le forum...
Mais tu peux déjà rentrer quelques chemins, tester nos différents codes et nous dire...
Pour choisir la chanson, je supprimerais
Code:
Sub PlayOn()
[B][COLOR=red]Song = "D:\TEST.mp3"[/COLOR][/B]
Call PlaySong(True)
End Sub
ce qui te permettrait d'utiliser
Code:
' insère ici le code pour jouer ta chanson avec le format Song = "D:\" & variable2 & ".mp3"
A +
 

Belsebou

XLDnaute Nouveau
Re : Quizz musical

Merci JPN pour ces conseils que j'ai tenté de mettre en application.
J'arrive donc maintenant:
- à lister les musiques de mon répertoire que je place en colonne A
- à convertir ce résultat dans 2 colonnes afin d'obtenir le nom en C et le titre en D
- ta macro pour faire un choix semble fonctionner puisque des croix apparaissent en B
Par contre je n'arrive pas à relier ce choix aléatoire à l'exécution de la macro pour lancer la musique.
Je joins mon fichier excel ainsi qu'un exemple de répertoire de musique
Je n'ai pas encore tester l'affichage du nom et du titre de la musique jouée.
amicalement
Même avec 3 MP3 le fichier est trop gros pour être en pièce jointe (je n'ai pas eu le temps de couper les morceaux...)
 

Pièces jointes

  • Quizz Musical.xlsm
    29.2 KB · Affichages: 112
  • Quizz Musical.xlsm
    29.2 KB · Affichages: 118
  • Quizz Musical.xlsm
    29.2 KB · Affichages: 119

JNP

XLDnaute Barbatruc
Re : Quizz musical

Re , Bon courage
 

Belsebou

XLDnaute Nouveau
Re : Quizz musical

Merci JPN
c'est effectivement le MP3 qui jouait les troubles fêtes...
Sinon j'ai testé ta macro pour l'affichage
Code:
Sub Infos()
Set myShell = CreateObject("Shell.Application")
Set myFolder = myShell.Namespace("D:\MUSIQUIZZ\")
Set myFile = myFolder.Items.Item("& variable2 & ")
For i = 1 To 21
MsgBox "N°" & i & ": " & myFolder.GetDetailsOf(myFile, i)
Next i
End Sub
mais le résultat est une suite de MsgBox N°1 jusqu'à 21 qui me dit juste N°1:taille puis après validation, N°2:type...mais sans aucun renseignement sur le fichier musique joué
je pense que mon problème vient de variable2 que je réutilise...
 

Belsebou

XLDnaute Nouveau
Re : Quizz musical


Je suis content car j'ai réussi en suivant tes conseils et en rajoutant des bouts de programmes glanés ici et là.
Mine de rien j'ai réussi à faire plus ou moins ce que je recherchais et je te remercie ainsi que ceux qu'y ont contribués de près ou de loin à ce bout de programme.
Je joins mon quizz qui pourrait être complété parce que tout n'est peut-être pas académique
Meilleurs voeux
 

Pièces jointes

  • Quizz Musical.xlsm
    44.6 KB · Affichages: 148
  • Quizz Musical.xlsm
    44.6 KB · Affichages: 157
  • Quizz Musical.xlsm
    44.6 KB · Affichages: 155

Discussions similaires

Réponses
18
Affichages
782
Réponses
0
Affichages
154
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…