Projet VBA telechargement d'un fichier Zip
Bonjour à tous,
après de nombreuses recherches et d'essais, je souhaite demander à des passionées une solution à mon problème.
Je souhaiterai effectuer des requêtes sur le site
afin de telecharger des études sur les essais cliniques en cours pour des médicaments ou des entreprises de la santé.
Le processus est le suivant :
(1) Effectuer la recherche sur le site, via l'onglet de recherche, avec le terme " Sanofi"
https://clinicaltrials.gov/ct2/results?term=Sanofi&Search=Search
(2) Une multitude d'études sont à la disposition, un bouton spécifique est prévu pour telecharger les données , hors il y est demandé de selectioner des options de téléchargement
( All studies found, All available field et CSV doivent être selectionées )
(3) une fois le fichier telecharger, et si je clique sur le lien source, le navigateur web me donne
Le terme en gras étant donc la variable que je souhaite pouvoir maitriser dans le code afin de generer une multitude de requête
Chose qui est assez rassurante afin de pouvoir directement telecharger le Zip ( oui; le fichier est telecharger dans une archive
Jusque présent j'ai trouvé un code bien expliqué sur ce site, mais cela ne fonctionne pas. Si je passe par le VBA, aucun document ne se télécharge, en revanche si je passe par le navigateur, le lien fonctionne bien...
Un ami m'a réalisé ce code
Public Function DownloadFile()
Dim strcmd As String
Dim strURL As String
Dim strFileResult As String
strFileResult = "./result.zip"
strURL = "https://clinicaltrials.gov/ct2/results/download?down_stds=all&down_typ=fields&down_flds=all&down_fmt=csv&term=Amgen&show_down=Y"
strcmd = "(new-object System.Net.WebClient).DownloadFile( '" & strURL & "', '" & strFileResult & "')"
Shell "powershell.exe " & strcmd
End Function
Public Function unzipFile()
Dim strcmd As String
Dim strShell As String
Dim strZipFile As String
strZipFile = ActiveWorkbook.Path & "\result.zip"
'-y : Overwrite (L'option -y permet de repondre oui par defaut a toutes les questions)
'-o ./file pour l'output
strShell = "C:\Program Files\7-Zip\7z.exe" & " e " & strZipFile & " -y"
If strPWD <> vbNullString Then strShell = strShell & " -p" & strPWD
Dim res As Long
res = Shell(strShell)
End Function
Sub Test()
Call DownloadFile
Call unzipFile
End SubIl a fonctionné deux fois, maintenant il ne fonctionne plus
PS : je suis sur un ordinateur au boulot, donc je n'ai pas de droit admin...
Merci à vous !!