IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fichier son dans un UserForm


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut Fichier son dans un UserForm
    Bonjour,
    Je tente de faire exécuter un fichier son .wav à l'affichage d'un userForm
    Voici le code que j'ai tapé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Option Explicit
     
    Private Declare Function PlaySound Lib "winmm.dll" _
      Alias "PlaySoundA" (ByVal lpszName As String, _
      ByVal hModule As Long, ByVal dwFlags As Long) As Long
     
        Dim FichierWAV As String
        Const SON_ASYNC = &H1
        Const SON_NOMFICHIER = &H20000
     
    Private Sub CommandButton3_Click()
     
      FichierWAV = ThisWorkbook.C:\Documents and Settings\proprietaire\Bureau\kk.wav
             Call PlaySound(FichierWAV, 0&, SON_ASYNC Or SON_NOMFICHIER)
    End Sub
    Avant même de lancer l'exécution s'affiche un message Erreur de syntaxe et la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     FichierWAV = ThisWorkbook.C:\Documents and Settings\proprietaire\Bureau\kk.wav
    est écrite en rouge
    Quelqu'un pourrait-il examiner cette ligne de code et me dire quelle est l'erreur de syntaxe, car je ne vois pas en quoi elle consiste
    Merci aux Docteurs qui feront leur diagnostic car je suis vraiment allergique aux messages Excel
    Avnaim

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierWAV = ThisWorkbook.C:\Documents and Settings\proprietaire\Bureau\kk.wav
    As-tu adapté le chemin ou tu as laissé "propriétaire" ?

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    le paramètre lpszName de la fonction Playsound est une chaîne de caractères représentant le fichier.
    Pour toi, c'est donc FichierWAV

    Ecris donc

    juste avant de "jouer ton son" (avant la ligne d'erreur) ...
    Tu devrais vite comprendre ce qui se passe lorsque tu écris que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierWav = ThisWorkbook.C:\Documents and Settings\proprietaire\Bureau\kk.wav
    Edit : j'ai comme dans l'idée (si tu as mis ce fichier son dans le répertoire du classeur actif) que tu veux de référer à
    ThisWorkBook.Path & "\ & "nom_du_fichier.wav"

    Et si finalement il n'est pas dans le répertoire de ton classeur mais ailleurs, c'est alors :
    FichierWav = "C:\....\....\ton_fichier.Wav"

    ou les ... représentent les dossiers du chemin.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut
    Bonjour et merci UCFOUTU,

    J'ai tapé MsgBox "FichierWAV" j'obtiens un message Microsoft Excel "OK"
    Dans ma petite cervelle j'ai l'impression qu'Excel me dit dans son message " d'accord ou tout va bien " mais cela ne va pas plus loin ( à mon âge 91 on a la comprenette qui faiblit )
    Cordialement
    Avnaim

    Bonjour FRING,
    Merci encore de t'occuper d'un pauvre malade qui appelle toujours son docteur

    J'ai simplement fait un clic droit sur mon fichier .WAV placé sur le bureau et cliqué sur Propriétés qui me donne je crois le chemin complet : j'ai donc laissé propriétaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\proprietaire\Bureau
    Cordialement merci et à +

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Je n'ai pas essayé le code mais à première vue je dirais (comme l'a signalé UC)
    que FichierWAV doit contenir le nom et le chemin complet du fichier à jouer.
    Essaye comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierWAV = "C:\Documents and Settings\proprietaire\Bureau\kk.wav"
    en oubliant pas de mettre les guillemets

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut
    Re-Bonjour,

    Voici à présent le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      FichierWAV = ThisWorkbook."C:\Documents and Settings\proprietaire\Bureau\kk.wav"

    Et le message que j'obtiens est : Attendu identificateur ou expression entre crochets

    J'ai remplacé les guillemets par des crochets [ ]


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierWAV = ThisWorkbook.[C:\Documents and Settings\proprietaire\Bureau\kk.wav]


    et le message que j'obtiens est : Membre de méthode ou de données introuvable

    très cordialement à+
    avnaim

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Euh...

    T'arrive-t-il, de temps à autre, de lire les réponses que tu reçois ?
    On n'en a pas vraiment l'impression !

  8. #8
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierWAV = "C:\Documents and Settings\proprietaire\Bureau\kk.wav"
    Ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierWAV = ThisWorkbook."C:\Documents and Settings\proprietaire\Bureau\kk.wav"
    Chercher l'intru
    Un indice, il est en gras, rouge, italique et souligné

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut
    Docteur Fring,

    Evidemment, si on ne suit pas ce qui est écrit dans l'ordonnance on ne peut pas guérir !
    Merci mille fois, maintenant je suis guérit et je pète le feu ! Du coup je fais jouer la Marseillaise sur mon UserForm
    Encore merci.
    Avnaim

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut
    Bonjour,
    C'est encore moi avec un fichier son.
    J'ai dans un dossier une application Excel et un fichier son que j'active par un bouton clic dans cette application. Tout cela fonctionne très bien mais voici un problème que je ne comprends pas :
    Si j'ajoute un autre fichier son avec une procédure identique celui-ci ne s'ouvre pas aucun son. Pourtant je n'ai aucun message d'erreur Voici mes procédures concernant ces fichiers :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Option Explicit
     
    Private Declare Function PlaySound Lib "winmm.dll" _
      Alias "PlaySoundA" (ByVal lpszName As String, _
      ByVal hModule As Long, ByVal dwFlags As Long) As Long
        Dim FichierWAV As String
        Const SON_ASYNC = &H1
        Const SON_NOMFICHIER = &H20000
    -----------------------
    Private Sub CommandButton1_Click()
    FichierWAV = "Cello2.wav"                          ' celui ci reste muet
     Call PlaySound(FichierWAV, 0&, SON_ASYNC Or SON_NOMFICHIER)
     UserForm4.Show
     UserForm2.Hide
    End Sub
    ------------------------------- 
    Private Sub CommandButton6_Click()
    FichierWAV = "k5.wav"                        ' celui ci fonctionne parfaitement
     Call PlaySound(FichierWAV, 0&, SON_ASYNC Or SON_NOMFICHIER)
    UserForm2.Show
    End Sub
    J'ai beau cogiter je ne comprends pas pourquoi l'un s'ouvre et m'offre une belle mélodie (k5.wav) alors que l'autre (Cello2.wav) reste muet.
    Là je crois que non seulement il faut être Dr.es-SciencesExcel mais Devin diplômé !
    Mais qui sait l'un de vous a peut être ces facultés c'est pourquoi à tout hasard je lance un appel
    Merci d'avance
    Avnaim

  11. #11
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    quand vas-tu enfin te décider à donner à ta variable FICHIERWAV le chemin COMPLET du fichier son à jouer ?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut
    Bonjour,
    J'ai dû mal m'expliquer :
    J'ai un dossier : GESTION_ALIMENTAIRE
    Celui-ci contient :
    Un fichier Excel.xls et deux fichiers son : "k5.wav" et "cello2.wav" c'est pourquoi je pense que les 'instructions suivantes sont un chemin complet :

    FichierWAV = "k5.wav"
    FichierWAV = "Cello2.wav"


    K5.wav s'ouvre et fonctionne . J'ai essayé de faire :

    FichierWAV = C:\Documents and Settings\proprietaire\Bureau\ GESTION_ALIMENTAIRE\ " k5.wav"

    J'obtiens un message qui me demande un N° de ligne
    Alors je ne comprends pas pourquoi le second fichier est muet
    Comme je disais il faut être devin pour comprendre un truc pareil
    Et je n'ai pas de boule de cristal et le club n'en a peut être pas non plus
    Très cordialement et à +
    Avnaim

  13. #13
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    1)
    c'est pourquoi je pense que les 'instructions suivantes sont un chemin complet :

    FichierWAV = "k5.wav"
    FichierWAV = "Cello2.wav"
    NON !

    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     FichierWAV = "C:\Documents and Settings\proprietaire\Bureau\GESTION_ALIMENTAIRE\k5.wav"
    ou encore (mais on te l'a déjà expliqué) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ledossier =  "C:\Documents and Settings\proprietaire\Bureau\GESTION_ALIMENTAIRE\"
    lefichier = "k5.wav"
    FICHIERWAV = ledossier & lefichier

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut
    Bonsoir,
    Vous avez surement raison dans tout ce que vous dites et je crois que c'est moi qui m'exprime comme une nouille. Ce dossier il contient mon fichier .xls et les deux fichiers son.
    Ce dossier je l'ouvre puis j'ouvre le fichier .xls
    Quand dans mon code je tape :

    FICHIERWAV ="k5.wav"


    Ce fichier son s'ouvre et fonctionne. Si je tape :

    FICHIERWAV = "C:\ Documents and Setting\proprietaire\Bureau\GESTION-ALIMENTAIRE\k5.wav"


    Je fais bien ce que vous dites que je dois faire mais j'obtiens le message d'erreur me demandant un N° de ligne. Je ne suis pas très finaud mais j'en déduis que mon code à la manque est celui qui fonctionne.

    En fait le vrai problème est pour le second fichier Cello.Wav Que je fasse "mon" Code ou bien le code "réglo" , il reste muet sans que le programme se plante, les instructions qui suivent sont bien exécutées.
    J'imagine que vous allez trouver que le ptit vieux zozote avec ses mystères. En tous cas moi je vous aime bien , vous avez une sacrée patience.
    Avnaim

  15. #15
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonjour,

    Comme dit plus haut si :

    Citation Envoyé par AVNAIM Voir le message
    ... Ce dossier il contient mon fichier .xls et les deux fichiers son....
    alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FICHIERWAV =ThisWorkBook.Path & "\k5.wav"



    Jacques.

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 52
    Par défaut
    Bonjour Jacques,
    J' ai essayé ce code ( ThisWorkBook……)sans aucun résultat.
    Mais le problème n'est pas ce fichier il fonctionne parfaitement avec le code :

    FICHIERWAV= "k5.wav"

    Il s'agit d'un second fichier dénommé :"Cello .wav"

    Pour tous les deux le chemin complet m'est donné quand je fais un clic droit dessus et propriété si je tape le code suivant :

    FichierWAV = " C:\Documents and Settings\proprietaire\Bureau\GESTION_ALIMENTAIRE" & "k5.wav" et

    FichierWAV = " C:\Documents and Settings\proprietaire\Bureau\GESTION_ALIMENTAIRE" & " Cello .wav "

    Aucun message d'erreur mais TOUS LES DEUX sont muets

    Si je tape le code :

    FichierWAV = "k5.wav"
    FichierWAV ="Cello2.wav"

    K5 joue sa musique mais Cello2 est muet
    C'est pourquoi j'ai beau m'arracher les cheveux je n'y comprends rien
    Très cordialement
    Avnaim

  17. #17
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par AVNAIM Voir le message
    FichierWAV = " C:\Documents and Settings\proprietaire\Bureau\GESTION_ALIMENTAIRE" & "k5.wav" et

    FichierWAV = " C:\Documents and Settings\proprietaire\Bureau\GESTION_ALIMENTAIRE" & " Cello .wav "
    Il y a une erreur dans la syntaxe, il manque des "\", il y a des "espaces" en trop et le "&" est inutile...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierWAV = "C:\Documents and Settings\proprietaire\Bureau\GESTION_ALIMENTAIRE\Cello.wav"
    Si ce fichier reste muet alors que l'autre fichier joue correctement, vérifier si ce fichier contient réellement quelque chose, en double cliquant dessus il y a t-il un son émis ?

  18. #18
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    EZuh...

    Playsound étant playsound et restant inerte si mauvais chemin de fichier son, moi je m'attends à tout, à ce stade et à ce niveau
    Alors et juste pour avoir la conscience en paix:
    Je demande à AVNAIM de bien vouloir créer un bouton de commande voyons et de mettre ceci dans son évènement click, puis de nous dire ce qui s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "coucou " & dir("C:\Documents and Settings\proprietaire\Bureau\cello.wav")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Visualiser un fichier office dans un userform
    Par PSO37 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/09/2013, 20h52
  2. [XL-2007] Charger un fichier image dans un userform vba
    Par cedill23 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 07/03/2011, 13h59
  3. [PPT-2007] Problème insertion fichier son dans PPT 2007
    Par TOSSS dans le forum Powerpoint
    Réponses: 7
    Dernier message: 05/09/2009, 15h21
  4. Réponses: 3
    Dernier message: 02/08/2006, 09h21
  5. introduire un fichier son dans ma base
    Par cool dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 08/04/2006, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo