J'essaie d'importer des données xml dans Excel .. Donc la première ligne du code est
Dim XMLDOC As MSXML2.DOMDocument
et cela donne une erreur "type défini par l'utilisateur non défini"
À l'intérieur du VBE, accédez à Outils -> Références, puis sélectionnez Microsoft XML, v6.0 (ou quel que soit votre dernier. Cela vous donnera accès à la bibliothèque d'objets XML.
Mise à jour avec photo fantaisie!
J'avais DOMDocument
défini ce qui avait besoin Microsoft XML, v3.0
mais j'avais Microsoft XML, v6.0
sélectionné dans les références à l'origine de l'erreur ci-dessous
msgstr "type défini par l 'utilisateur non défini".
La solution
La solution consistait à remplacer DOMDocument
par DOMDocument60
(60 utilise la version 6.0) ou utilisez le Microsoft XML, v3.0
référence avec DomDocument
.
Juste une note rapide, si quelqu'un utilise une version différente, telle que Microsoft XML, v4.0, alors DOMDocument40
Devrait être utilisé. Cela est dû au fait que le numéro à la fin de DOMDocument
est spécifique à la version de la bibliothèque utilisée.
Je travaille avec une macro Excel VBA que quelqu'un d'autre a écrite et j'ai été chargé de la réparer après une mise à niveau récente de Windows 7/Office 2010 vers Windows 10/Office 2016. J'ai commencé à recevoir la même erreur de compilation "type défini par l'utilisateur non défini". Mon installation précédente avait également MS XML v6.0 mais apparemment, vous devez spécifiquement pointer vers cette version dans votre code sur Windows 10 et/ou Office 2016 (je n'ai pas pu confirmer la mise à niveau à l'origine du problème). J'ai pu résoudre le problème en effectuant une recherche/remplacement sur les éléments suivants:
"DOMDocument" to "MSXML2.DOMDocument60"
"XMLHTTP" to "MSXML2.XMLHTTP60"