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 :

Lecture d'un fichier .mp3 [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut Lecture d'un fichier .mp3
    Bonjour,

    J'ai réalisé une petite appli avec la possibilité de lire (entendre) le contenu d'une cellule.
    Avec un logiciel de synthèse vocale, j'ai réalisé manuellement pour chaque cellule concernée un fichier mp3.

    Pour lire ce fichier, j'ai essayé deux façons de faire :

    Manière 1 - Dans mon formulaire, j'ai mis un contôle activex et ce qui me gène, c'est qu'à l'ouverture, il y a le message:
    "Cette application est sur le point d'initialiser les contrôles activeX .....", c'est gênant.
    Dans la gestion des paramètres ActiveX, la case "Activer tous les contrôles ..." est bien cochées.

    Donc j'ai essayé cela,

    Manière 2 - Il n'y a pas de contrôle activex dans mon form.
    J'enclenche la lecture à l'aide du code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell(C:\Program Files\Windows Media Player\wmplayer.exe C:\001.mp3")
    Cela fonctionne bien, mais WMP est visible et reste visible après la lecture.

    Avez vous une solution pour l'une ou l'autre de ces manières de procéder ?
    ou avez vous une autre façon de faire ?

    Je suis à votre écoute.

    Merci.

    JCB57
    Windows 10 - ACCESS 2007

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Dans cette discussion tu devrais trouver ton bonheur!

    http://www.developpez.net/forums/d16...m/#post8762175

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonsoir
    perso afin de libérer l'application pendant la lecture du son je la li extérieurement a l'aide d'un fichier VBS utilisant l'ocx WMP classic que l'on ne peut plus utiliser en VBA
    je créé donc le vbs et le lance par VBA il se détruit après lecture automatiquement

    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
    22
    23
    24
    Sub test()
    son = "H:\mes musique\Amy Mc Donald\Lets Start A Band - Amy Mc Donald -  Album 2008\Amy Mc Donald - Lets Start A Band.mp3"
    joue_le_son son
    End Sub
    Function joue_le_son(son)
         code = code & "fichier= Wscript.ScriptFullName" & vbCrLf
        code = code & " Set wmp = CreateObject(""WMPlayer.OCX"")" & vbCrLf
        code = code & "wmp.settings.autoStart = True" & vbCrLf
        code = code & "wmp.settings.volume = 100" & vbCrLf
        code = code & "wmp.URL = """ & son & """" & vbCrLf
        code = code & "While wmp.Playstate <> 1" & vbCrLf
        code = code & "WScript.Sleep 1" & vbCrLf
        code = code & "Wend" & vbCrLf
        code = code & "Set fso = CreateObject(""Scripting.FileSystemObject"")" & vbCrLf
        code = code & "fso.DeleteFile (fichier)" & vbCrLf
        code = code & "Set fso = Nothing" & vbCrLf
        fichier = ThisWorkbook.Path & "\jouer le son.vbs"
        x = FreeFile
        Open fichier For Output As #x
        Print #x, code
        Close #x
        Set w = CreateObject("Wscript.shell")
        w.Run """" & fichier & """"
    End Function
    voila
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Pour lire ce fichier, j'ai essayé deux façons de faire :
    Il y en a une troisième :
    - création et exécution d'un objet OLE, en dur ou en lien avec un hyperlink (au choix)
    Cela évitera entre autres et les messages disgracieux et l'utilisation de VBS (délibérément inhibé sur certaines machines, dont la mienne)

    Tiens, regarde ce que je viens de bâcler et qui me semble le mieux adapté à ta configuration (sons différents selon cellule) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Application.ScreenUpdating = False 'on veut éviter unj clignotement
       On Error Resume Next ' juste pour le cas où fichier inexistant ou corrompu
     
       'on va maintenant créer un objet OLE se rapportant à un fichier dont
       'le chemin figure en cellule G1 (exemple)
       ActiveSheet.OLEObjects.Add(Filename:=Range("G1").Text, Link:=True).Select ' on le sélectionne
       If Err.Number <> 0 Then ' si fichier inexistant ou corrompu, on abandonne
         Application.ScreenUpdating = True
         MsgBox "Impossible de jouer (fichier inexistant ou corrompu)" & ActiveCell.Text
         Exit Sub
       End If
       Selection.Verb ' on exécute la lecture
       Selection.Delete ' on peut maintenant détruire notre objet OLE
       Application.ScreenUpdating =True
    Tu devrais vite voir comment inclure cela dans ton projet, en fonction de la cellule concernée.

    On évite ainsi à la fois les messages et l'utilisation de VBS (relire mon message précédent à ce sujet).

    EDIT : j'ai corrigé le dernier screenupdating, que j'avais mis (mal réveillé) indûment à) False au lieu de true.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour unparia

    tout d'abords merci j'avais complètement zappé "verb"

    mais ici on a justement comme résultat ce que le demandeur ne veut pas

    un message non dépendant de Excel s'affiche (voir capture )

    puis ensuite c'est le WMplayer qui s'affiche

    a trop vouloir te protéger tu te supprime des possibilités

    comme tu dis chacun son "manioc"

    Nom : Capture.JPG
Affichages : 2633
Taille : 61,2 Ko
    voila
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonjour et merci pour vos réponses rapides.

    J'ai installé la suggestion de "PatrickToulon" qui correspond au résultat cherché.
    Auparavant, j'avais trifouillé la base de registre (pas très conseillé), et je ne dormais pas tranquille.
    Maintenant tout est en ordre.

    Il me reste une question : comment arrêter le son si je change de cellule ?

    Merci.

    JCB57
    Windows 10 - ACCESS 2007

  7. #7
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour patricktoulon
    Pas de message sur ma machine ! Le son est joué directement.
    Il se peut alors que ma machine soit configurée pour ouvrir par défaut en xlPrimary et la tienne en XlOLEVerbxlOpen
    Forçons dans ce cas la main, ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Verb xlPrimary
    Pour ce qui est de l'inhibition de VBS : Excuse-moi, mais :
    - je suis loin d'être le seul à la pratiquer
    - chacun court en effet les risques qu'il accepte de courir. Mais dans ce cas : il est pour le moins aléatoire de tenter de distribuer ton appli ... .
    Et si tu le fais, il te faudra demander à tes "clients" d'autoriser VBS (et tu verras la réponse que certains te feront ).
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    ok il te suffit de killer le processus wscript.exe
    pour cela je te donne une fonction toute prete a l'emploi

    alors voila

    j'ai mis mes chanson en mp3 dans la colonneA pour l'exemple

    dans l'evenement selection change du sheets j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Column = 1 Then
            If Target <> "" Then
                joue_le_son Target.Value
            Else
                KillProcess "wscript.exe"
            End If
        End If
    End Sub
    et avec la sub que je t'ai déjà donné
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Public Function KillProcess(ByVal ProcessName As String) As Boolean
        strComputer = "."
        Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
        Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'wscript.exe'")
        For Each myp In colProcessList
            myp.Terminate
        Next
        Set colProcessList = Nothing
        Set objWMIService = Nothing
    End Function
    ''''*********************
    'LSteph
     
    Sub test()
        son = "H:\mes musique\Amy Mc Donald\Lets Start A Band - Amy Mc Donald -  Album 2008\Amy Mc Donald - Lets Start A Band.mp3"
        joue_le_son son
    End Sub
    Function joue_le_son(son)' on kill le processus wscript.exe si il est en cours 
        KillProcess "wscript.exe"
        code = code & "fichier= Wscript.ScriptFullName" & vbCrLf
        code = code & " Set wmp = CreateObject(""WMPlayer.OCX"")" & vbCrLf
        code = code & "wmp.settings.autoStart = True" & vbCrLf
        code = code & "wmp.settings.volume = 100" & vbCrLf
        code = code & "wmp.URL = """ & son & """" & vbCrLf
        code = code & "While wmp.Playstate <> 1" & vbCrLf
        code = code & "WScript.Sleep 1" & vbCrLf
        code = code & "Wend" & vbCrLf
        code = code & "Set fso = CreateObject(""Scripting.FileSystemObject"")" & vbCrLf
        code = code & "fso.DeleteFile (fichier)" & vbCrLf
        code = code & "Set fso = Nothing" & vbCrLf
        fichier = ThisWorkbook.Path & "\jouer le son.vbs"
        x = FreeFile
        Open fichier For Output As #x
        Print #x, code
        Close #x
        Set w = CreateObject("Wscript.shell")
        w.Run """" & fichier & """"
    End Function
    voila a chaque fois que tu sélection une cellule différente dans la colonne A ca coupe la précédente et joue la nouvelle si tu veux stopper tu clique sur une cellule vide c'est tout pour le moment dit la voix
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    DurDur as-tu regardé cette discussion ?

    Citation Envoyé par dysorthographie Voir le message
    Bonsoir,
    Dans cette discussion tu devrais trouver ton bonheur!

    http://www.developpez.net/forums/d16...m/#post8762175
    Parce qu'avec mcisendstring il y a de fortes chances (cela dépend de l'O.S et de la configuration, des codecs installés) que tu puisses jouer des mp3 et les arrêter sans passer par du kill et en étant totalement invisible.
    Mcisendstring n'aime pas trop les espaces dans les chemins et noms de fichiers (même en mettant des guillemets) alors il faut lui passer le nom court du fichier pour ne pas avoir d'erreurs dans ce cas là.
    Voici par exemple comment jouer un mp3 à partir du chemin contenu dans la cellule active.
    Les déclarations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias _
       "mciSendStringA" (ByVal lpstrCommand As String, ByVal _
       lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
       hwndCallback As Long) As Long
    Private Declare Function fGetShortPathName Lib "kernel32" Alias _
       "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal _
       lpszShortPath As String, ByVal cchBuffer As Long) As Long
    La fonction VBA qui permet d'avoir le nom court d'un fichier avec son chemin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function GetShortPathName(sLongPathName As String) As String
      Dim lLen As Long
      Dim sShortPathname As String
      If Dir(sLongPathName, vbDirectory) = "" Then Exit Function
      sShortPathname = Space$(260)
      lLen = fGetShortPathName(sLongPathName, sShortPathname, 260)
      'If (lLen = 0) Then Exit Function  'Not needed since DIR was used.
      GetShortPathName = sShortPathname
    End Function
    jouer le mp3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub PlayMP3()
       Dim AudioFile As String
       Dim MciError As Long
       AudioFile = GetShortPathName(ActiveCell.Text)
       MciError = mciSendString("play " & AudioFile, 0&, 0, 0)
       If MciError <> 0 Then
       MsgBox ("Erreur MCI : " & MciError)
       End If
    End Sub
    Arrêter le mp3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub ArretMP3()
    Dim AudioFile As String
    Dim MciError As Long
    AudioFile = GetShortPathName(ActiveCell.Text)
    MciError = mciSendString("close " & AudioFile, 0&, 0, 0)
       If MciError <> 0 Then
       MsgBox ("Erreur MCI : " & MciError)
       End If
    End Sub
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  10. #10
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Enfin, quoi !
    Sans commentaires (je vais m'y refuser) en ce qui concerne le "mécanisme" proposé avec vbs et ses tremplins ...
    Je n'ai sur la machine où je me trouve aucun .mp3 de son uniquement, mais je ne vois pas pourquoi ce simple petit code, que je viens de bâcler avec des fichiers .wav, ne fonctionnerait pas avec des .mp3 de son seulement :
    en colonne A, des chemins de fichiers son valides.
    Ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _
        (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
    Const SND_ASYNC = &H1
    Const SND_NODEFAULT = &H2
    Private Const SND_FILENAME As Long = &H20000
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       PlaySound vbNullString, 0, 0
       sndPlaySound Target.Text, SND_ASYNC Or SND_NODEFAULT
    End Sub
    Lorsque je sélectionne en colonne A ==>> j'ai mon son
    Si je fais une autre sélection, le premier son s'arrête et laisse jouer le second, etc ...
    Si je sélectionne une cellule vide ou même une cellule dont le contenu n'est pas un fichier son valide, tout s'arrête
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  11. #11
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello unparia,
    il me semble que sndPlaySound and PlaySound ne fonctionnent qu'avec des fichiers .wav
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  12. #12
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour jurassic pork
    il me semble que sndPlaySound and PlaySound ne fonctionnent qu'avec des fichiers .wav
    Tu "crois" (il te "semble que") ? Tu as essayé ? (avec des .mp3 ne contenant QUE du son ?)
    Mets-moi ici s'il te plait 2 ou 3 .mp3 de son seul et on verra ce que j'en ferai
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    jurassic pork impossible de s'introniser (play/stop) j'ai 36 chansons qui sont en route en même temps par contre l'api mci joue bien les mp3

    je vais tester celle de unparia maintenant avec playsound
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    unparia, j'ai un peu le même problème que toi je ne peux essayer d'où je suis (pas d'excel). voici un petit mp3 pour tester de ton côté .

    un petit clin d'oeil à Patricktoulon
    Fichiers attachés Fichiers attachés
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  15. #15
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonsoir à tous,

    En posant cette question anodine, je ne pensais pas déclarer cette guerre entre puriste.

    Je voyais plutôt une ou deux lignes de code comme réponse.

    Comme j'aime les choses simple, après avoir essayé les autres possibilités, je reste avec la solution de PatrickToulon qui me donne satisfaction.

    Encore un gros merci à tous.

    JCB57
    Windows 10 - ACCESS 2007

  16. #16
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    merci mais c'est pas une guerre mais comme très souvent

    avec unparia le sage et le cochon aux grandes dents

    les accords divergent et ne sont pas in constructifs au contraire

    perso je regarderais a temps perdu la méthode de jurrassic pork qui fonctionne a 80% par rapport a ta demande pour remanier la synchronisation +1 pour le vieux cochon sauvage

    quand a playsound non la c'est catégorique ca ne fonctionne pas

    après l'urtication de verb n'est pas si mal en xlprimary +1 pour unparia pour la simplicité
    je regarderais aussi cela de plus prêt
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  17. #17
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    hé Patrick, tu aurais pu nous sortir la solution de synthèse vocale avec SAPI.spvoice vue la demande initiale :

    J'ai réalisé une petite appli avec la possibilité de lire (entendre) le contenu d'une cellule.
    Avec un logiciel de synthèse vocale, j'ai réalisé manuellement pour chaque cellule concernée un fichier mp3.
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  18. #18
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    J'ai finalement pu retrouver quelques mp3 de son uniquement sur un vieux support.
    Ils ne sont en effet pas lus par sndPlaySound.
    Je vais dans ce cas tenter deux choses :
    - la 1ère : reprendre mon idée d'utilisation d'objet OLE
    - la 2ème : "tromper" en "tripotaillant" une entête
    (il y en a bien une 3ème, mais je préfère faire d'abord quelques tests avant de même en parler).
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Citation Envoyé par jurassic pork Voir le message
    hello,
    hé Patrick, tu aurais pu nous sortir la solution de synthèse vocale avec SAPI.spvoice vue la demande initiale :
    Bonjour jurrassik pork oui et non car il faut installer une voix française(virginie)

    et si le sujet va dans ce sens j'ai deux contrib sur le sujet qui sont amplement expliquée

    le module dictée avec Google

    pareil avec la voix virginie et j'explique comment la faire marcher en 32 ou 64 bits

    @unparia avec verb essaie de nous faire un play/stop)cela serait intéressant

    @jurassic pork revoie un peu ton model pour le(play/stop)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  20. #20
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    hello,
    hé Patrick, tu aurais pu nous sortir la solution de synthèse vocale avec SAPI.spvoice vue la demande initiale :
    C'est une piste intéressante mais la cellule qui a généré le mp3 est en russe.
    Pour le moment, je me sert de Google traduction et capture le son généré et cela un à un.
    C'est fastidieux, mais je n'ai pas trouvé comment automatiser ça.
    Si quelqu'un a une idée (j'ai 500 phrases à transformer en son), je suis preneur.
    Encore merci à tous.

    JCB57
    Windows 10 - ACCESS 2007

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Lecture d'un fichier MP3 et récupération de ses informations
    Par arnolem dans le forum Téléchargez
    Réponses: 0
    Dernier message: 01/10/2011, 08h43
  2. Lecture simultanée de 2 fichiers MP3
    Par mweber_29200 dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/05/2006, 14h07
  3. [MFC]lecture d'un fichier mp3
    Par r0d dans le forum MFC
    Réponses: 6
    Dernier message: 26/01/2006, 02h55

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