Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Import de données d'un site Web

2 réponses
Avatar
HD
Bonjour,

J'ai un lien vers un fichier xml permettant de me mettre en liaison avec les
données d'un site Web.

Lorsque je fais manuellement la manip, je fais : "Données / Données externes
/ A partir du site Web", je colle mon lien dans Adresse, je clique sur "Ok"
puis je clique sur "Importer". Là j'ai un message "La source XML spécifiée
ne fait pas référence à un schéma. Excel va créer un schéma basé sur les
données de la source XML." puis il me propose de coller les données à partir
de la cellule A1. Les données arrivent.

Je voudrais pouvoir obtenir automatiquement ces données via un script VBA...
mais lorsque je lance ma macro je n'obtiens rien du tout.

Voilà mon script :

Sub Import()
On Error Resume Next
Dim XMLReq As String

XMLReq = Range("D10").Value
Workbooks.Add
ActiveWorkbook.XmlImport URL:=XMLReq, ImportMap:=Nothing,
Overwrite:=True, Destination:=Range("$A$1")
End Sub

Avez vous une idée de ce qui pourrait coincer ? Merci d'avance.

--
@+
HD

2 réponses

Avatar
isabelle
bonjour HD,

enlève la commande
On Error Resume Next
pour voir ou ça coince.

isabelle

Le 2010-07-22 11:20, HD a écrit :
Bonjour,

J'ai un lien vers un fichier xml permettant de me mettre en liaison avec les
données d'un site Web.

Lorsque je fais manuellement la manip, je fais : "Données / Données externes
/ A partir du site Web", je colle mon lien dans Adresse, je clique sur "Ok"
puis je clique sur "Importer". Là j'ai un message "La source XML spécifiée
ne fait pas référence à un schéma. Excel va créer un schéma basé sur les
données de la source XML." puis il me propose de coller les données à partir
de la cellule A1. Les données arrivent.

Je voudrais pouvoir obtenir automatiquement ces données via un script VBA...
mais lorsque je lance ma macro je n'obtiens rien du tout.

Voilà mon script :

Sub Import()
On Error Resume Next
Dim XMLReq As String

XMLReq = Range("D10").Value
Workbooks.Add
ActiveWorkbook.XmlImport URL:=XMLReq, ImportMap:=Nothing,
Overwrite:=True, Destination:=Range("$A$1")
End Sub

Avez vous une idée de ce qui pourrait coincer ? Merci d'avance.

Avatar
HD
Voilà mon script :
Sub Import()
Dim XMLReq As String

XMLReq = Range("D10").Value
Workbooks.Add
ActiveWorkbook.XmlImport URL:=XMLReq, ImportMap:=Nothing,
Overwrite:=True, Destination:=Range("$A$1")
End Sub


enlève la commande
On Error Resume Next
pour voir ou ça coince.



J'ai également testé la longueur de la chaîne, XMLReq contient 184
caractères. Mais la limite doit être 256 caractères il me semble.

L'erreur affichée est l'erreur:
'-2147217376 (80041020)': Un caractère incorrect a été trouvé dans un
contenu de texte.
Et elle se produit sur la ligne:
ActiveWorkbook.XmlImport URL:=XMLReq, ImportMap:=Nothing, Overwrite:=True,
Destination:=Range("$A$1")

Mon souci est que la chaîne de caractère en question ne peut être modifiée.
Au niveau des caractères qu'elle contient... Elle commence par http:// et
contient les caractères non alphanumériques suivant: ?&{}-.
--
@+
HD