Bonjour,
Je souhaite obtenir des données depuis une page internet.
Plusieurs solutions existent, mais j'ai préféré celle-ci ; voici mon code qui va interroger un site, pour 50 lignes différentes:
Ce code fonctionne très bien et m'importe toutes les données dont j'ai besoin.
Une donnée, toutefois, se trouve sur un autre site que celui-ci, j'ai donc revu mon code ainsi:
Les pages existent, on peut y accéder directement depuis n'importe quel navigateur. Sauf que, très souvent, j'ai une erreur 1004 qui apparait, m'indiquant qu'Excel ne peut pas accéder au fichier pour les raisons suivantes:
- Le nom du fichier ou le chemin d'accès n'existe pas,
- Le fichier est actuellement utilisé par un autre programme,
- Le classeur que j'essaye d'enregistrer porte le même nom qu'un autre classeur déjà ouvert.
Le chemin d'accès fonctionne vu qu'il est accessible par internet, je n'ai rien d'ouvert hormis mon programme actuel qui s'appelle "Gestion Ukio.xlsm" et je n'essaye pas d'enregistrer.
J'essaye de passer par un autre système pour récupérer mes données, mais j'aimerais vraiment comprendre pourquoi cela bloque, surtout que, de prime abord, cela semble aléatoire. Parfois la page va s'ouvrir sans soucis, et parfois j'ai le message.
J'ai tenté des choses genre Set Obk = Nothing avant d'ouvrir le lien, genre sauvegarder mon fichier, au cas où il soit en temporaire et avec un nom bateau, mais rien n'y fait.
Auriez-vous une idée du pourquoi du comment et comment résoudre le problème?
Merci d'avance,
Je souhaite obtenir des données depuis une page internet.
Plusieurs solutions existent, mais j'ai préféré celle-ci ; voici mon code qui va interroger un site, pour 50 lignes différentes:
VB:
Set Obk = Workbooks.Open("https://goh.warstats.net/guilds/units/62?unit=" & Sheets("Données de Base").Cells(perso_base, 1) & "&type=ground")
Obk.Activate
'Suppression des liens hypertextes
Cells.Hyperlinks.Delete
'Suppression des images et contrôles
ActiveSheet.Shapes.SelectAll
Selection.Delete
Sheets("62").Copy After:=Workbooks("Gestion Ukio.xlsm").Sheets("Global")
Workbooks("62").Close
Ce code fonctionne très bien et m'importe toutes les données dont j'ai besoin.
Une donnée, toutefois, se trouve sur un autre site que celui-ci, j'ai donc revu mon code ainsi:
Code:
Sub test()
Application.DisplayAlerts = False
Set Obk = Nothing
Set Obk = Workbooks.Open("https://swgoh.gg/p/" & sheets("Données de Base").cells(perso, 6) & "/omicrons/")
'exemple de sheets("Données de Base").cells(perso, 6): 367332181 ou encore 323787692
Obk.Activate
'Suppression des liens hypertextes
Cells.Hyperlinks.Delete
'Suppression des images et contrôles
ActiveSheet.Shapes.SelectAll
Selection.Delete
Sheets("swgoh").Copy After:=Workbooks("Gestion Ukio.xlsm").Sheets("Global")
Workbooks("swgoh.gg").Close
Application.DisplayAlerts = True
End Sub
Les pages existent, on peut y accéder directement depuis n'importe quel navigateur. Sauf que, très souvent, j'ai une erreur 1004 qui apparait, m'indiquant qu'Excel ne peut pas accéder au fichier pour les raisons suivantes:
- Le nom du fichier ou le chemin d'accès n'existe pas,
- Le fichier est actuellement utilisé par un autre programme,
- Le classeur que j'essaye d'enregistrer porte le même nom qu'un autre classeur déjà ouvert.
Le chemin d'accès fonctionne vu qu'il est accessible par internet, je n'ai rien d'ouvert hormis mon programme actuel qui s'appelle "Gestion Ukio.xlsm" et je n'essaye pas d'enregistrer.
J'essaye de passer par un autre système pour récupérer mes données, mais j'aimerais vraiment comprendre pourquoi cela bloque, surtout que, de prime abord, cela semble aléatoire. Parfois la page va s'ouvrir sans soucis, et parfois j'ai le message.
J'ai tenté des choses genre Set Obk = Nothing avant d'ouvrir le lien, genre sauvegarder mon fichier, au cas où il soit en temporaire et avec un nom bateau, mais rien n'y fait.
Auriez-vous une idée du pourquoi du comment et comment résoudre le problème?
Merci d'avance,