Voilà grâce à votre aide j'ai pu faire un "Navigateur de sauvegardes". On voit les sauvegardes d'un fichier dans des pages avec 10 boutons, chaque bouton pour un fichier. Il suffit de cliquer pour ouvrir ou importer des variables, ce qu'on veut

On peut se balader de pages en pages avec 2 boutons ">>" et "<<". C'est quand même bien plus pratique et rapide qu'un InputBox! ^^ Je vous laisse ici le script, qui pourrait sans doute être amélioré mais il marche (en bonus un petit affichage en cascade des boutons, oh c'est joli):
Code : Tout sélectionner
; ### NAVIGATEUR DE SAUVEGARDES ### By Dixit
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <File.au3>
#include<Array.au3>
#include"RecFileListToArray.au3"
Hotkeyset("{ESC}","fin")
Dim $list
Dim $Btn[100] ; 100 boutons donc 100 fichiers
Dim $GUI[100] ; Au max 100/10=10 Pages soit 100 fichiers visibles
$list= _RecFileListToArray ( @ScriptDir&"\Sauvegardes","*.txt",1,1,1,"") ; ### A changer selon le nom et l'emplacement du répertoire ###
_ArrayDisplay($list, "Liste fichier") ; Facultatif
$i=0
While 1
$GUI[$i] = GUICreate("Navigateur de sauvegardes", 300, 425, -1, -1)
GUICtrlCreateLabel("Sauvegardes", 24, 20, 120, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW, $GUI[$i])
$BtnRight = GUICtrlCreateButton(">>", 150, 360, 125, 40, BitOR($BS_MULTILINE,$BS_FLAT))
$BtnLeft = GUICtrlCreateButton("<<", 25, 360, 125, 40, BitOR($BS_MULTILINE,$BS_FLAT))
If $list[0] >= $i+10 Then
For $x=1 to 10
$Btn[$x] = GUICtrlCreateButton(""&$list[$x+$i]&"", 25, 30+30*$x, 250, 30, BitOR($BS_MULTILINE,$BS_FLAT))
Sleep(80) ; Rendu en cascade
Next
Else
For $x=1 to $list[0]-$i
$Btn[$x] = GUICtrlCreateButton(""&$list[$x+$i]&"", 25, 30+30*$x, 250, 30, BitOR($BS_MULTILINE,$BS_FLAT))
Sleep(80) ; Rendu en cascade
Next
Endif
If $list[0] > $i+10 Then
Guictrlsetstate($BtnRight,$GUI_ENABLE)
Else
Guictrlsetstate($BtnRight,$GUI_DISABLE)
Endif
If $i >= 10 Then
Guictrlsetstate($BtnLeft,$GUI_ENABLE)
Else
Guictrlsetstate($BtnLeft,$GUI_DISABLE)
Endif
While 1
$nMsg = GUIGetMsg()
If $nMsg = $GUI_EVENT_CLOSE Then Exit
If $nMsg = $BtnRight Then ; Bouton à droite
GUISetState(@SW_HIDE, $GUI[$i])
$i=$i+10
ExitLoop
EndIf
If $nMsg = $BtnLeft Then ; Bouton à gauche
GUISetState(@SW_HIDE, $GUI[$i])
$i=$i-10
ExitLoop
EndIf
If $list[0] >= $i+10 Then ; Si on est pas en fin de liste
For $x=1 to 10
If $nMsg = $Btn[$x] Then
GUISetState(@SW_HIDE, $GUI[$i])
FileOpen(@ScriptDir&"\Sauvegardes\"&$list[$x+$i]) ; ### A changer selon le nom et l'emplacement du répertoire ###
ExitLoop 3
Endif
Next
Else ; Si on est en fin de liste
For $x=1 to $list[0]-$i
If $nMsg = $Btn[$x] Then
GUISetState(@SW_HIDE, $GUI[$i])
FileOpen(@ScriptDir&"\Sauvegardes\"&$list[$x+$i]) ; ### A changer selon le nom et l'emplacement du répertoire ###
ExitLoop 3
Endif
Next
Endif
Wend
Wend
Exit
Func Fin()
Exit 0
EndFunc