IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

lire fichier json à partir de vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Architecte technique
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut lire fichier json à partir de vba
    Hey tout le monde

    Jai besoin de vous ! je vous explique, j'aimerais lire un fichier json sur ssis avec du code vba et insérer le contenu dans une table ! c'est assez abstrait pour moi donc si quelqu'un peut m'éclairer sur les différentes démarches et si vous pouviez m'éclairer sur le code ce serait sympa

    je vous remercie


    Vanesss

  2. #2
    Membre chevronné
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Par défaut
    Je pense que ceci devrait t'aider :
    https://github.com/VBA-tools/VBA-JSON


    Malheureusement c'est toute l'aide que je pourrais apporter par rapport à ça

    Bonne chance

  3. #3
    Membre confirmé
    Femme Profil pro
    Architecte technique
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut
    merci AL__22 j'vais trouvé ces sites j'avoue que ça m'aide mais toujours un pe perdue ..

    Vaness

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Pour ma curiosité personnelle, comment est structuré le fichier json? une ptit extrait sera le bienvenu

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour, bonjour !

    Citation Envoyé par vanessa75 Voir le message
    j'avoue que ça m'aide mais toujours un pe perdue ..
    Nous le sommes encore plus car comme il existe différentes structures de données json
    donc sans avoir une idée précise du fichier source ni du résultat escompté nous n'irons pas plus loin
    et vu toute la documentation déjà disponible sur le Net …

    Voilà, voilà !

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour
    bien en fait tout dépend de ce que tu veut récupérer en en faire

    les fichier JSON sont des fichier texte
    donc tout les constantes et fonctions (même natives VBA) sont a ta disposition

    il est certain que de part sa régularité répétitive dans sa syntaxe on peut jouer avec ses fonctions (split,instr,mid,etc.....)

    il me semble aussi que le membre "Marc-L" avait fait une démo pour un autre demandeur et utilisait l'object script dans le code vba
    bref c'est un sujet qui a été évoqué plusieurs fois
    le site a un moteur de recherche tu pourrais commencer par t 'en servir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    exemple
    prend ceci: et enregistre le dans une fichier JSON avec le bloknote(notpad)
    jel'ai raccourci pour l'exemple
    [{"id":"1099-99","name":"Laboratoire de Hamm"},{"id":"1143-99","name":"Laboratoire de Zakk"},{"id":"1102-99","name":"Laboratoire de Lesh"},{"id":"1099-100","name":"Ferme Bauer"},{"id":"1143-100","name":"Ferme Gee"},{"id":"1102-100","name":"Ferme Barrett"},{"id":"1099-101","name":"Campement de McLain"},{"id":"1143-101","name":"Campement d'Habib"},{"id":"1102-101","name":"Campement de Patrick"},{"id":"1099-102","name":"Académie de O'del"},{"id":"1143-102","name":"Académie de Kay'li"},{"id":"1102-102","name":"Académie de Y'lan"},{"id":"1099-104","name":"Nécropole éternelle"},{"id":"1143-104","name":"Nécropole impérissable"},{"id":"1102-104","name":"Nécropole immortelle"},{"id":"1099-105","name":"Dépôt Vilebrequin"},{"id":"1143-105","name":"Dépôt Engrenage"},{"id":"1102-105","name":"Dépôt Bougie"},{"id":"1099-106","name":"Crypte embrasée"},{"id":"1143-106","name":"Crypte torride"},{"id":"1102-106","name":"Crypte cuisante"}]
    re
    voici une petite fonction qui va récupérer le text en mémoire avec open for input
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'fonction de récupération du code de tout le fichier
    Function recuptext(fichier)
        Dim laChaine As String, x
        x = FreeFile
        Open fichier For Input As #x
        laChaine = Input(LOF(x), #x)
        Close #x
        recuptext = laChaine
    End Function
    maintenant on va faire la sub qui va se servir de cette fonction puis mettre ce texte au format CSV( séparateur virgule)
    le jeux consiste dans ce cas présent de structure a faire des replace sur le texte
    perso je préfère les replace car il ne génère pas de message d'erreurs en d'erreur justement
    tandis que qua,nd on utilise les split ou instr on est obligé de faire des multiple conditions "IF" et c'est pas toujours jojo

    pour concevoir ton mode il te suffit d'ouvrir ton json avec bloknote et de placer un retour de ligne a la place des caractères récurrents en l'occurrence ici c'est "},{" qui te permettent de séparer les élément
    chaque élément contient un ID et un name le reste n'est que du replace sur les caractères indésirables

    je le répète c'est un exemple simple



    voila la sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub test()
        Dim code As String, fichier As String
        fichier = "chemin complet de ton fichier JSON"
        code = recuptext(fichier)
        Debug.Print code    'regarde dans ta fenetre d'executionde l'editeur VBE
        code = Mid(Replace(code, "},{", vbCrLf), 3, Len(code))
        code = Replace(code, """name"":""", "")
        code = Replace(code, """id"":""", "")
        code = Replace(code, """", "")
        Debug.Print code    'et regarde encore maintenant  dans ta fenêtre d'exécution de l'éditeur VBE
        tableau = Split(code, vbCrLf)'maintenant que l'on a des lignes propres on coupe le code complet par les saut de ligne 
    'on obtient ainsi un tableau (array)1 dimension et chaque élément du tableau contient une ligne 
     
     With Sheets(1)
            .Cells(1, 1).Resize(UBound(tableau, 1)) = Application.Transpose(tableau)'on colle ce tableau dans la colonne A d'un sheets 
           ' maintenant on applique textTocolumns pour bien séparer les données dans leur colonnes respective 
    .Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
                                          TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Space:=False
        End With
    End Sub
    voila comment il est dans le sheets
    Nom : Capture.JPG
Affichages : 7789
Taille : 107,4 Ko

    pour quoi je t'oriente vers ce procédé??
    et bien par que les JSON peuvent avoir une syntaxe différentes en fonction des sites
    même si il y des récurrence dans les modèles, ils sont pas tous identiquement conçu en terme de syntaxe

    voila voila
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Lire fichier texte à partir d'une ligne spécifique
    Par Msxty dans le forum VBScript
    Réponses: 7
    Dernier message: 15/07/2011, 15h42
  2. Comment ouvrir un fichier Acrobat à partir du VBA d'Excel?
    Par ac264 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/03/2010, 14h08
  3. Ouvrir un fichier word à partir de VBA
    Par stephnovice dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2009, 20h20
  4. Lire fichier audio à partir serveur
    Par jzeel dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 30/04/2008, 18h35
  5. Ouverture d'un fichier Word à partir de VBA
    Par jh0483 dans le forum Access
    Réponses: 5
    Dernier message: 29/11/2005, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo