Bonjour.
Souci résolu.
Déjà, un grand merci aux intervenants.
J'ai utilisé le script de Walkson pour arriver à mes fins.
J'avais un doute sur l'adaptation, puisque j'utilise souvent la même procédure pour créer une interface.
Et ce doute était réel : les boutons inopoérants.
Dans le passé, j'étais aussi confronté à ce souci.
Et en appliquant une autre méthode pour créer une interface, le souci fut réglé.
Et c'est le cas ici aussi.
Du coup, pour l'interface, j'ai utilisé ceci comme aide : 
https://beamtic.com/creating-guis-autoit
Et voici le script final :
► Afficher le texte
#include <GUIConstantsEx.au3>#include <StaticConstants.au3>#include <File.au3>#include <GuiStatusBar.au3>#include <Array.au3>Opt('MustDeclareVars', 1)Opt("TrayMenuMode", 3)Global $wmp = ObjCreate("wmplayer.OCX")Global $MaPlaylist = @DesktopDir & "\MaPlaylist.m3u"Global $MaPlaylist_AL = @DesktopDir & "\MaPlaylist[aleatoire].m3u"MainGUI
()Func MainGUI
()   Local $msg, $tmsg   Local $iDossier, $parcourir, $creer_playlist   Local $parcourir_pl, $iPlaylist, $jouer_pl, $suivant, $precedent   Local $parcourir_tray, $jouer_pl_tray, $creer_playlist_tray, $parcourir_pl_tray, $jouer_pl_tray, $suivant_tray, $precedent_tray, $quitter_tray   local $message_pl = "Permer de créer 2 playlist :" & @crlf & "- 1 playlist avec un tri par défaut." & @CRLF &"- 1 playlist avec un tri aléatoire."   Local $gui = GUICreate("My GUI Window Title", 550, 600, 10, 10)   GUISetFont(9, 500, 0, "comic sans ms");~   Opt("GUICoordMode", 2);~   $Button1 = GUICtrlCreateButton("Button 1", 10, 30, 100);~   $Button2 = GUICtrlCreateButton("Button 2", 0, -1)   GUICtrlCreateLabel("Dossier Musique", 5, 2.5, 110, 20)   $iDossier = GUICtrlCreateInput("", 120, 0, 400, 20)   GUICtrlSetState($iDossier, 128)   $parcourir = GUICtrlCreateButton("...", 525, 0, 20, 20)   $creer_playlist = GUICtrlCreateButton("Créer les playlists", 5, 30, 150, 20)   GUICtrlSetTip($creer_playlist,$message_pl,"Création de deux playlists")   GUICtrlCreateLabel("", 0, 60, 550, 1, $SS_SUNKEN)   $parcourir_pl = GUICtrlCreateButton("Importer une playlist", 5, 70, 150, 25)   $iPlaylist = GUICtrlCreateInput("", 170, 70, 350, 25)   GUICtrlSetState($iPlaylist, 128)   $jouer_pl = GUICtrlCreateButton("Jouer la playlist", 25, 110, 120, 25)   $suivant = GUICtrlCreateButton("Musique suivante", 150, 110, 120, 25)   $precedent = GUICtrlCreateButton("Musique précédente", 275, 110, 120, 25)   $parcourir_tray = TrayCreateItem("Choix du dossier Musique")   $creer_playlist_tray = TrayCreateItem("Créer la playlist")   TrayCreateItem("")   $parcourir_pl_tray = TrayCreateItem("Importer la playlist")   TrayCreateItem("")   $jouer_pl_tray = TrayCreateItem("Jouer la playlist")   $suivant_tray = TrayCreateItem("Suivant")   $precedent_tray = TrayCreateItem("Précédent")   TrayCreateItem("")   $quitter_tray = TrayCreateItem("Quitter")   Global $barre_etat = _GUICtrlStatusBar_Create($gui)   _GUICtrlStatusBar_SetText($barre_etat, "Lecture en cours : --")   GUISetState()   ; Run the GUI until the window is closed   While 1      $msg = GUIGetMsg()      Select         Case $msg = $GUI_EVENT_CLOSE            ExitLoop         Case $msg = $parcourir            Global $folder = FileSelectFolder("Choisissez le dossier où se trouver vos musiques / vidéos", @DesktopDir, 2)            If Not @error Then               GUICtrlSetData($iDossier, $folder)               TrayTip("Succès", "Le dossier Musique a bien été sélectionné.", 5)            EndIf         Case $msg = $creer_playlist            Global $dossier = GUICtrlRead($iDossier)            _CreationPL
($dossier)         Case $msg = $parcourir_pl            Global $fod = FileOpenDialog("Choisissez La Playlist que vous souhaitez importer", @DesktopDir, "Playlist (*.m3u;*m3u8)", 1)            If Not @error Then GUICtrlSetData($iPlaylist, $fod)         Case $msg = $jouer_pl            Global $Playlist = GUICtrlRead($iPlaylist)            If FileExists($Playlist) Then _play_media
($Playlist)         Case $msg = $suivant            _suivant
()         Case $msg = $precedent            _precedent
()      EndSelect      $tmsg = TrayGetMsg()      Select         Case $tmsg = $parcourir_tray            Global $folder = FileSelectFolder("Choisissez le dossier où se trouver vos musiques / vidéos", @DesktopDir, 2)            If Not @error Then               GUICtrlSetData($iDossier, $folder)               TrayTip("Succès", "Le dossier Musique a bien été sélectionné.", 5)            EndIf         Case $tmsg = $creer_playlist_tray            Global $dossier = GUICtrlRead($iDossier)            _CreationPL
($dossier)         Case $tmsg = $jouer_pl_tray            Global $Playlist = GUICtrlRead($iPlaylist)            If FileExists($Playlist) Then _play_media
($Playlist)         Case $tmsg = $parcourir_pl_tray            Global $fod = FileOpenDialog("Choisissez La Playlist que vous souhaitez importer", @DesktopDir, "Playlist (*.m3u;*m3u8)", 1)            If Not @error Then GUICtrlSetData($iPlaylist, $fod)         Case $tmsg = $jouer_pl_tray            Global $Playlist = GUICtrlRead($iPlaylist)            If FileExists($Playlist) Then _play_media
($Playlist)         Case $tmsg = $suivant_tray            _suivant
()         Case $tmsg = $precedent_tray            _precedent
()      EndSelect   WEndEndFunc   ;==>MainGUIFunc _CreationPL
($dossier)   Local $medias, $contenu_pl, $MPlist, $MPlist2, $n1, $n2, $temp   If FileExists($dossier) Then      Local $extensions = "*.ac3;*.flac;*.mp3;*.wav"      Local $FLTAR = _FileListToArrayRec($dossier, $extensions, 1, 1, 1, 2)      For $a = 1 To $FLTAR[0]         Local $media = $FLTAR[$a]         $medias &= $media & @CRLF      Next   EndIf   If StringStripWS($medias, 8) <> "" Then      FileDelete($MaPlaylist)      FileDelete($MaPlaylist_AL)      $MPlist = FileOpen($MaPlaylist, 2)      FileWrite($MPlist, $medias)      FileClose($MPlist)      $MPlist2 = FileOpen($MaPlaylist_AL, 2)      FileWrite($MPlist2, $medias)      FileClose($MPlist2)      Dim $Array[9]      _FileReadToArray($MaPlaylist_AL, $Array)      For $i = 1 To 10 * UBound($Array)         $n1 = Random(1, UBound($Array) - 1, 1) ;was Random(0...but I change it to 1 so element [0] will         $n2 = Random(1, UBound($Array) - 1, 1) ;not be read into the array (I think that's how it works         $temp = $Array[$n1] ;because now text results show no [0] element showing up         $Array[$n1] = $Array[$n2]         $Array[$n2] = $temp      Next;~ _ArrayDisplay($Array)      _FileWriteFromArray($MaPlaylist_AL, $Array, 1)      TrayTip("Succès", "La playlist a bien été créé !", 5)   EndIfEndFunc   ;==>_CreationPLFunc _play_media
($PL)   $wmp.settings.autoStart = True   $wmp.settings.volume = 50   $wmp.URL = $PL   ConsoleWrite("Nom de la playliste " & $wmp.currentPlaylist.Name & @CR)   ConsoleWrite("Nombre de morceaux " & $wmp.currentPlaylist.count & @CR)   Sleep(1000)   For $i = 0 To $wmp.currentMedia.attributeCount - 1      ConsoleWrite($wmp.currentMedia.getAttributeName($i) & " : " & $wmp.currentMedia.getItemInfo($wmp.currentMedia.getAttributeName($i)) & @CR)   Next   Global $nbItem = $wmp.currentPlaylist.count   Global $cible = $wmp.Controls.currentItem.Name   _GUICtrlStatusBar_SetText($barre_etat, $cible)EndFunc   ;==>_play_mediaFunc _suivant
()   If $wmp.Playstate <> 0 Then      $wmp.Controls.Next      Global $cible = $wmp.Controls.currentItem.Name      If $cible = "MaPlaylist" Then $wmp.Controls.playItem($wmp.currentPlaylist.Item(0)) ;si $cible est le nom de la playliste "30-11-2021", on revient à l'item 0      _GUICtrlStatusBar_SetText($barre_etat, $cible)      For $i = 0 To $nbItem - 1         If $cible = $wmp.currentPlaylist.item($i).Name Then ExitLoop      Next;~    ConsoleWrite($wmp.currentPlaylist.item($i).Name & " >> " & $i + 1 & "/" & $nbItem & @CR)   EndIfEndFunc   ;==>_suivantFunc _precedent
()   If $wmp.Playstate <> 0 Then      $wmp.Controls.Previous      Global $cible = $wmp.Controls.currentItem.Name      _GUICtrlStatusBar_SetText($barre_etat, $cible)      For $i = 0 To $nbItem - 1         If $cible = $wmp.currentPlaylist.item($i).Name Then ExitLoop      Next;~    ConsoleWrite($wmp.currentMedia.getItemInfo("title") & " >> " & $i + 1 & "/" & $nbItem & @CR)   EndIfEndFunc   ;==>_precedent   
Il fonctionne impec.
Big love sur vous  
 
++