Récupérer une donnée dans un fichier excel sur internet Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
S
Solene2017
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 10 octobre 2017
Version d'Excel : 2010 FR

Message par Solene2017 » 10 octobre 2017, 10:23

Bonjour à tous ! Je suis nouvelle sur ce forum et novice dans l'utilisation de VBA et j'ai besoin de votre aide !

Voilà mon problème : j'ai un fichier (fichier1) excel qui devra me permettre de faire des calculs de coûts, durées, etc.
Mais pour faire ces calculs j'ai besoin d'une donnée qui se trouve dans un autre fichier (fichier2) excel se trouvant sur une page internet (nécessitant une identification c'est pourquoi je ne met pas le lien ici).
J'aurais donc besoin, depuis le fichier1, de :
- pouvoir accéder à ce fichier2
- le télécharger
- l'ouvrir
- récupérer la donnée correspondante
- fermer le fichier et le supprimer

J'ai cherché un peu partout néanmoins les solutions que je trouve ne fonctionnent pas ou bien sont un peu trop compliquées pour moi, pouvez-vous m'aider ?


J'ai trouver ce code mais celui-ci ne fonctionne pas pour le téléchargement du fichier.

(J'ai placé mon URL dans la cellule A1 de ma feuille 1 et mon chemin pour le téléchargement dans A2 (je veux qu'il s'enregistre sur mon bureau) peut-être est- ce ça mon soucis )
'TELECHARGER FICHIER
'Declaration of Windows API Function
 Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, _
   ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
 
 
Sub File_Download_From_Website()
    'Déclare les variables locales qui seront utilisées dans ce module
    Dim InpUrl As String
    Dim OutFilePath As String
    Dim DownloadStatus As Long
    
    'Read Input Path for the File and Output File Destination Path
    InpUrl = ThisWorkbook.Sheets(1).Cells(1, 1)
    OutFilePath = ThisWorkbook.Sheets(1).Cells(2, 1)
    
    'Invoke API to download file from the website.
    DownloadStatus = URLDownloadToFile(0, InpUrl, OutFilePath, 0, 0)
    
    'Check return status from the API and Intimate the User accordingly.
    If DownloadStatus = 0 Then
        Application.Speech.Speak "File Downloaded. Check in this path: " & OutFilePath, True
        MsgBox "Fichier téléchargé. Check in this path: " & OutFilePath
    Else
        Application.Speech.Speak "Download File Process Failed"
        MsgBox "Fichier non téléchargé"
    End If
End Sub
Je vous remercie pour votre attention et votre aide !
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 9'458
Appréciations reçues : 428
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 10 octobre 2017, 12:33

Bonjour,

reçois-tu le message "fichier téléchargé. Check in this path: " suivi du nom du répertoire que tu as mis en A2 ?

ou reçois-tu le message " fichier non téléchargé" ?

ou reçois-tu un message d'erreur ?

ou ne reçois-tu pas de message d'erreur ?
S
Solene2017
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 10 octobre 2017
Version d'Excel : 2010 FR

Message par Solene2017 » 11 octobre 2017, 09:02

A chaque fois que j'exécute la macro il m'affiche une MsgBox "Fichier non téléchargé"
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message