XL 2021 Application.speech.speak

  • Initiateur de la discussion Initiateur de la discussion Attila451
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Attila451

XLDnaute Occasionnel
Bonjour,
J'ai voulu intégrer un message vocal dans une macro mais le message est lu avec un accent "Amerloque" très prononcé alors qu'il est destiné à un public Français 🙂

Sub UseSpeech()
Application.Speech.Speak "Merci d'avance pour votre aide"
End Sub

Comment faire svp pour que le message soit un peu plus proche de Molière ?
Merci d'avance !
 
Bonjour à tous,
J'ai utilisé le programme fourni par @patricktoulon (que je salu) au passage et j'ai voulu tester avec les autres voies disponibles sur mon PC
Voir ci-dessous
1751284858335.png

J'ai donc Hortense, Julie et Paul
J'ai donc modifié le fichier de Patrick afin de pouvoir choisir le nom de la personne qui parle
VB:
Sub TestAvecLesNoms()
    xQuiParle = "Hortense"
    'xQuiParle = "Julie"
    'xQuiParle = "Paul"
    Call DireBonjour(xQuiParle)
End Sub

Sub DireBonjour(xQuiParle)
    Dim Voix As Object
    Dim VoixDisponible As Object
    Dim Trouve As Boolean
    
    ' Créer l'objet SAPI.SpVoice
    Set Voix = CreateObject("SAPI.SpVoice")
    Voix.Volume = 100   'pour le volume de 0 à 100
    Voix.Rate = 2      ' pour la vitesse d'élocution de -10 à 10
 
    ' Parcourir les voix disponibles pour chercher "Hortense"
    Trouve = False
    For Each VoixDisponible In Voix.GetVoices
        If InStr(1, VoixDisponible.GetDescription, xQuiParle, vbTextCompare) > 0 Then
            Set Voix.Voice = VoixDisponible
            Trouve = True
            Exit For
        End If
    Next
    
    If Trouve Then
        Voix.Speak "Bonjour,;   ;je suis " & xQuiParle
    Else
        MsgBox "La voix '" & xQuiParle & "' n'est pas disponible sur ce système.", vbExclamation
    End If
End Sub

Or si j'utilise Hortense, no problème mais que ce soit pour Julie ou Paul, j'ai le message suivant
1751285143479.png


@patricktoulon , quand tu dis dans le code "Parcourir les voix disponibles pour chercher "Hortense", seule Hortense fonctionne.
Pourquoi ?????
Merci pour le retour
@+ Lolote83
 
re
Bonjour @Lolote83
  • L’erreur 400 est générique en VBA, mais dans ce cas elle indique que tu essaies d'utiliser une voix installée uniquement pour un moteur spécifique (par exemple, la plateforme OneCore) non accessible via CreateObject("SAPI.SpVoice").
  • En clair, certaines voix (comme Paul, Julie, etc.) visibles dans Windows (Paramètres > Heure et langue > Voix) sont installées pour OneCore, pas pour le moteur COM classique (SAPI 5) que ton VBA utilise.


 
Bonjour à tous,
J'ai utilisé le programme fourni par @patricktoulon (que je salu) au passage et j'ai voulu tester avec les autres voies disponibles sur mon PC
Voir ci-dessous

J'ai donc Hortense, Julie et Paul
J'ai donc modifié le fichier de Patrick afin de pouvoir choisir le nom de la personne qui parle

Or si j'utilise Hortense, no problème mais que ce soit pour Julie ou Paul, j'ai le message suivant

Regarde la pièce jointe 1219923

@patricktoulon , quand tu dis dans le code "Parcourir les voix disponibles pour chercher "Hortense", seule Hortense fonctionne.
Pourquoi ?????
Merci pour le retour
@+ Lolote83

Bonjour à tous,
Test à faire :

VB:
Sub ListerVoixDisponibles()
    Dim synthese As Object
    Dim voix As Object
    Set synthese = CreateObject("SAPI.SpVoice")
    
    Debug.Print "Voix installées sur ce système :"
    For Each voix In synthese.GetVoices
        Debug.Print "? " & voix.GetDescription
    Next
End Sub
 
Bonjour
ça sert a rien sur Win 10 et 11 seule hortence en français et zira en anglais sont disponible nativement et compatible avec sapi
inutile de faire des propositions qui ont déjà été faite
le post 18 est suffisamment clair je crois non ?
si hortence n'est pas dispos alors cette partie de win est bloquée (voir ton administrateur)
 
Salut,
pour voir les voix qui sont installées sur son ordinateur à la fois pour l' API Speech_OneCore ou l'API Speech de TTS lancer ces commandes sous powershell :
Code:
Get-ChildItem -Path HKLM:\Software\Microsoft\Speech_OneCore\Voices\Tokens\* -Recurse
Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Speech\Voices\Tokens\* -Recurse

Moi j'ai Zira (anglais) et Hortense (français) pour l'API Speech et Hortense, Julie et Paul pour l'API Speech_OneCore sous Windows 11.

L'accès à Powershell et aux clés de registre peut être problématique dans un environnement professionnel où les droits sont centralisés sur un serveur.

Nullosse
 
Bonjour à tous
j'ai créé une ressource en utilisant une vielle astuce de déplacement ou création de clé de registre comme j'avais fait en 2014 ICI dans le tutoriel pour utiliser la voix virginie sur windows 7 et office 2007 sauf que la c'est pour Windows 10/11 et toutes les versions d'office excel
cette ressource sera disponible dans quelques jours après modération
les voix françaises Hortense , Julie et paul seront désormais disponible pour sapi 5 en vba
Patrick
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
206
Réponses
5
Affichages
557
Réponses
4
Affichages
183
Retour