Importer une données balisé dans excel - VB/VBA/VBS - Programmation
Marsh Posté le 23-05-2016 à 11:19:55
Bonjour,
merci de corriger le lien du topic plantant aussi misérablement ‼
Sinon si c'est un vrai fichier xml, effectuer une recherche sur le net pour traiter ce type de fichier, y a plein de tutoriels !
Ou encore comme pour tout simple fichier texte, écrire la logique sur un papier avant de commencer à réécrire le code :
l'actuel ayant une logique "aware" ! D'où le message …
Pour comprendre l'erreur de conception : suivre la progression du code en mode pas à pas via la touche F8
tout en contrôlant le contenu de la fenêtre des Variables locales …
Voir aussi la fonction texte du VBA Split car ce n'est pas difficile avec un double Split entre les balises de début et de fin …
Marsh Posté le 23-05-2016 à 19:02:35
Salut,
effectivement, au lieu de copier coller bêtement j'aurais due réfléchir un peu plus et surtout mieux lire le code...
-_-
Code :
|
Par contre j'ai pas utilisé split parce que j'ai eu la flemme de faire un for i de chaque case d'un tableau... o.o
Maintenant il faut que j'en fasse une fonction pour ajouter mes autres données x.x
J'ai encore du travail devant moi!!
Sinon je me demande s'il y a pas possibilité à optimiser un peu mon code... des suggestions?
Marsh Posté le 24-05-2016 à 12:08:43
Bonjour,
j'ai un nouveau petit problème :
Code :
|
(Je sais c'est moche...)
Mon fichier xml contient des tab en amont de mon préfixe des données que je veux prendre, j'ai bien essayé d'utiliser :
Code :
|
(parce que voir ecrire 5 vtab & de suite... hein... )
mais ça efface tout...
ça fail misérablement...
est-ce que je l'utilise bien?
EDIT : corrections de fautes
Marsh Posté le 24-05-2016 à 18:18:00
Pour effacer une séquence dans une chaine de caractères il n'y a pas besoin de If mais juste de la fonction Replace
car même si la séquence est absente de la chaine, cela ne gêne pas …
Si « cela efface tout » : - soit la chaine initiale est déjà vide (MyString dans l'exemple alors qu'il s'agit de TextLine ‼);
- soit la chaine ne contenait que la séquence à effacer …
A noter : les fonctions Join & Split sont bien plus efficaces et rapides que les autres fonctions texte du VBA !
Voir cet exemple …
Marsh Posté le 23-05-2016 à 10:10:42
Bonjour,
mon problème :
Je veux prendre des données balisé dans des fichier cxf (c'est un fichier xml enfin c'est ce que dit la premiere ligne du fichier).
les données que je veux copier sont des nombres balisé de ce genre :
<CxF:L>93.609146</CxF:L>
<CxF:A>-1.013309</CxF:A>
<CxF:B>0.977731</CxF:B>
Il y aura deux fichiers, la référence et l'échantillon.
Ces informations peuvent être répétées plusieurs fois avec des nombres différents.
Dans ma "feuil2" je voudrais avoir toutes mes infos rassemblé dans les colonnes de A à F (A : L de référence, B : a de référence, C : b de référence, D: L de l'échantillon etc)
Avec ces nombres, je les compares avec des formules sur ma première feuille.
Pour l'instant je veux lire les fichiers et récupérer ces nombres.
J'ai essayé de m'inspirer du topic : http://forum.hardware.fr/hfr/Progr [...] 7924_1.htm
ce que j'ai fait (je m'occupe que du <CxF:L> pour l'instant) :
Et ça fail misérablement...
En appuyant sur mon "bouton" j'ai la boite de dialogue "aucune info trouvée" qui apparaît...
Je crois que je me suis bien planté quelque part...
Merci pour toute aide
EDIT :
url du lien réparé
Message édité par vicolecid le 23-05-2016 à 17:21:08