Bonjour,
J'ai repris une fonction d'omen999 :
En modifiant le sFilter, mais je ne peux commencer par filtrer les ofx, je suis toujours obligé de passer par tous les fichiers, ensuite la fonction permet le filtre.
Ce que je souhaite c'est arriver dans la boite de dialogue avec les fichiers filtrés.
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
sIniDir = "D:\Downloads\*" 
sFilter = "ofx Files (*.ofx)|*.ofx|All files (*.*)|*.*|Microsoft Word (*.doc;*.docx)|*.doc;*.docx|" 
sTitle = "GetFileDlg by omen999 2014 - http://omen999.developpez.com" 
rep = GetFileDlgEx(Replace(sIniDir,"\","\\"),sFilter,sTitle) 
MsgBox rep & vbcrlf & Len(rep)
 
Function GetFileDlgEx(sIniDir,sFilter,sTitle) '"no limit" Browse dialog : the global size of the parameters isn't limited anymore
    Set oDlg = CreateObject("WScript.Shell").Exec("mshta.exe ""about:<object id=d classid=clsid:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>moveTo(0,-9999);eval(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).Read("&Len(sIniDir)+Len(sFilter)+Len(sTitle)+41&"));function window.onload(){var p=/[^\0]*/;new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(p.exec(d.object.openfiledlg(iniDir,null,filter,title)));close();}</script><hta:application showintaskbar=no />""")
    oDlg.StdIn.Write "var iniDir='" & sIniDir & "';var filter='" & sFilter & "';var title='" & sTitle & "';"
    GetFileDlgEx = oDlg.StdOut.ReadAll
End Function