Minuteur/Alarme toutes les 2 heures [Clôturé]

cathodique

XLDnaute Barbatruc
Bonsoir:),

Après avoir bagué mes oisillons, la femelle voulant les leur retirait, les éjectent hors du nid.

Je dois donc les nourrir à la main (canari) toutes les 2 heures. Je voudrais qu'une alarme m'avertisse.

Donc le matin, je démarre le minuteur et toutes les 2 heures l'alarme retentit, avec possibilité de stopper l'alarme.

Si vous avez d'autres idées, je suis preneur.

Avec mes remerciements anticipés.

ps: fichier sonore ci-joint.
 

Pièces jointes

  • Alarme Nourrissage.zip
    33.5 KB · Affichages: 33

Si...

XLDnaute Barbatruc
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é
 

Staple1600

XLDnaute Barbatruc
Re

@Si...
J'ai testé ton fichier (voir message#15)

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)
 

Staple1600

XLDnaute Barbatruc
Re

Le problème de son est résolu.
01MCI.jpg

WMP lit le *.mid
Pour VLC, c'est pas encore cela.

Mais toujours le même message d'erreur avec le code VBA.
 

Staple1600

XLDnaute Barbatruc
Re

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

XLDnaute Barbatruc
Re

@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 :p:p PRATIQUE INCASSABLE
9214fe5e-c921-11e7-b36b-53a09aedfc0c_1.jpg
Rebaptisé par mes soins: Sabot Hollandais:D:D:D

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.:eek:
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@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
 

Staple1600

XLDnaute Barbatruc
Re

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 ;)
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Bonjour à tous

@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. :)
 

Statistiques des forums

Discussions
312 364
Messages
2 087 625
Membres
103 624
dernier inscrit
PhilduMorvan