Re
je pensais que c'était clair j'ai joint le MuZic.xlsm après avoir changé son extension (en xlsm, le site refuse de télécharger certaines extensions).
Donc, dernière tentative : je joins 2 fichiers .xlsm . Il faudra les enregistrer dans le même dossier puis renommer le MuZic en .Mid.
Il faut ne lancer l'autre fichier que si cela a été fait !
Rassure-toi, je ne me tracasse pas. Je me suis amusé n'est-ce pas Staple* ?
*Je n'ai jamais pu régler les problèmes de "the voice" sur mon PC**. Il ne me retourne que des grognements que je ne peux comprendre alors je ne peux pas tester la dernière proposition.
** ce n'est pas faute d'avoir essayé
NB: Le problème vient plutôt de l'OS que du code VBA
(j'ai téléchargé un autre *.mid : VLC n'arrive pas à le lire et WMP le lit mais pas de son.
Aprés investigation pour VLC, il manque sur ce PC la banque SoundFont
(que je suis en train de télécharger)
@cathodique
Tant mieux pour les poussins
Mais j'aimerais comprendre pourquoi ce message d'erreur chez toi et chez moi.
(Ici XP)
Chez toi, est-ce tu arrives à lire le *.mid avec WMP?
WMP=Windows Média Player
Alors pour ceux qui sont sous XP et avec XL 2003, avec ce biais, cela fonctionne
(nécesssite d'ajouter les références à wmp.dll et à msdxm.ocx dans VBE, puis ajouter un contrôle WMP sur la feuille contenant le code VBA ci-dessous)
VB:
Sub Ouvrir_WMP()
Dim musique$
musique = ThisWorkbook.Path & "\" & "MuZik.mid"
Play_MIDI musique
End Sub
Sub Fermer_WMP()
Stop_WMP
End Sub
Private Function Play_MIDI(FicZik$)
With WindowsMediaPlayer1
.Visible = -1: .URL = Path_FileID
End With
End Function
Private Function Stop_WMP()
With WindowsMediaPlayer1
.Visible = 0: .Close
End With
End Function
NB: Ce petit test permet juste de lire le fichier *.mid cité dans le fil.
Je n'ai pas traité le code relatif à l'alarme puisque le demandeur a opté pour son smartphone.
PS:Si quelqu'un peut m'expliquer pourquoi la lecture du *mid par le bias de l'API (cf le code de Si...) génére une erreur dans cette configuration (XP + XL2K3), merci à lui.
@cathodique
Tant mieux pour les poussins
Mais j'aimerais comprendre pourquoi ce message d'erreur chez toi et chez moi.
(Ici XP)
Chez toi, est-ce tu arrives à lire le *.mid avec WMP?
WMP=Windows Média Player
Bonjour,
Chez-moi: win7 64bits et Excel2010 32bits ----> j'arrive à lire *.mid avec windows media player.
Concernant mon smartphone le voici PRATIQUE INCASSABLE
Rebaptisé par mes soins: Sabot Hollandais
Bonne journée à vous merci bien.
ps: moi aussi je voudrais bien savoir pourquoi ça ne fonctionne pas.
surtout le Beep sous VBA (quand j'avais XP et Excel 2003, ça fonctionnait parfait)
Microsoft se moque de nous en nous faisant croire qu'il améliore leur logiciel.
Perso, je pense qu'il font juste de la customisation.
@cathodique
Tu peux tester ceci sur ton Windows 7, stp ?
(Vérifie qu'il existe bien un fichier onestop.mid dans C:\WINDOWS\MEDIA)
VB:
Private Declare Function mciExecute Lib "winmm.dll" _
(ByVal lpstrCommand As String) As Long
Sub PlayMIDI()
Dim MIDIFile$
MIDIFile = Environ("SystemRoot") & "\Media\onestop.mid"
mciExecute ("play " & MIDIFile)
End Sub
Sub StopMIDI()
Dim MIDIFile$
MIDIFile = Environ("SystemRoot") & "\Media\onestop.mid"
mciExecute ("stop " & MIDIFile)
End Sub
De plus en plus bizarre
(XL2K3 sur XP)
En copiant dans le répertoire MEDIA de Windows, cela fonctionne!!!
VB:
Private Declare Function mciExecute Lib "winmm.dll" _
(ByVal lpstrCommand As String) As Long
Sub PlayMIDI()
Dim MIDIFile$
MIDIFile = Environ("SystemRoot") & "\Media\MuZik.mid"
mciExecute ("play " & MIDIFile)
End Sub
Sub StopMIDI()
Dim MIDIFile$
MIDIFile = Environ("SystemRoot") & "\Media\MuZik.mid"
mciExecute ("stop " & MIDIFile)
End Sub
NB: Précédemment, MuZik.mid était dans
C:\Documents and Settings\STAPLE1600\Mes documents\
Serait-ce alors une histoire de chemin trop long ?!?
EDITION: Il semblerait que ce soit cela
J'ai testé avec ce path
"C:\Tmp\MuZik.mid"
Et cela fonctionne
Merci à celui/celle qui pourra confirmer/infirmer cette hypothèse
@Stapple: Ton problème de chemin trop long, je le rencontre parfois sur Win 7 mais avec des chemins qui peuvent avoir plus de 200 caractères en copie de fichiers, hors ici, tu a 67 caractères avec le nom du fichier.
Il faudrait tester à l'occasion sur un Win7, et Win 10 pour confirmer si c'est dû au Win XP qui ne gère pas des fichiers de plus très long.