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 :

Recherche une valeur dans une colonne + Prends la valeur en dessous


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Octobre 2019
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Vietnam

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2019
    Messages : 45
    Par défaut Recherche une valeur dans une colonne + Prends la valeur en dessous
    Bonjour les amis

    je rencontre ce problème là :

    sur ma feuille "JSON" , colonne "A"
    j'ai ces valeurs là :

    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      "unit_depository_slots": {
        "number": 680,
        "upgrade": {
          "number": 690,
          "mana": 200000,
          "crystal": 50

    dans la macro ci dessous, je lui demande de chercher "unit_deposit"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        'trouver la première cellule avec "unit_depository_slots", ne fonctionne que si cellule visible
        Dim maFeuil As Worksheet
        Dim maCel As Range
            Set maFeuil = ThisWorkbook.Sheets("JSON")
            Set maCel = maFeuil.Range("A:A").Find("unit_depository_slots", LookIn:=xlValues)
    mais comment faire pour qu'il prenne la ligne +1 sur maCel stp ?
    car c'est le

    qui m'intéresse de récupérer comme info

    et là le 680 ... ¨

    j'ai essayé avec ça :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    Sub JSON_Entrepot()
     
        'trouver la première cellule avec "unit_depository_slots", ne fonctionne que si cellule visible
        Dim maFeuil As Worksheet
        Dim maCel As Range
        Dim maCel2 As Range
            Set maFeuil = ThisWorkbook.Sheets("JSON")
            Set maCel = maFeuil.Range("A:A").Find("unit_depository_slots", LookIn:=xlValues)
            maCel2 = (maCel.Row) + 1
     
        'Extraire les données dernier ":"
        Dim pos2pt As Long
            'InStr = donne la position du caractere ":"
            pos2pt = InStr(maCel.Value, ":")
        Dim maVal As String
            'Replace(xxx, ".", ",") = remplace "." par ","
            'Trim = enleve les espaces
            maVal = Replace(Trim(Right(maCel2.Value, Len(maCel2.Value) - pos2pt)), ".", ",")
     
        'Calcul le nombre de caractères restant : Len(maVal)
        Dim maVal2 As String
            maVal2 = Left(maVal, Len(maVal) - 1)
     
        'renseigne la cellule "N4"
        Set maFeuil = ThisWorkbook.Sheets("ANALYSE")
        maFeuil.Range("K4").Value = maVal2
     
    End Sub
    mais ca me crée une erreur ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            maCel2 = (maCel.Row) + 1
    j'ai essayé cela aussi (mais ca ne marche pas)

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub JSON_Entrepot()
     
        'trouver la première cellule avec "unit_depository_slots", ne fonctionne que si cellule visible
        Dim maFeuil As Worksheet
        Dim maCel As Range
        Dim maCel2 As Range
            Set maFeuil = ThisWorkbook.Sheets("JSON")
            Set maCel = maFeuil.Range("A:A").Find("unit_depository_slots", LookIn:=xlValues)
     
        'Prendre la ligne en dessous...
            Set maCel2 = Offset((Index(Json!C, (Match("" * "" & """unit_depository_slots""" & "" * "", Json!C, 0)), 1, 1)), 1, 0)
     
        'Extraire les données dernier ":"
        Dim pos2pt As Long
            'InStr = donne la position du caractere ":"
            pos2pt = InStr(maCel2.Value, ":")
        Dim maVal As String
            'Replace(xxx, ".", ",") = remplace "." par ","
            'Trim = enleve les espaces
            maVal = Replace(Trim(Right(maCel2.Value, Len(maCel2.Value) - pos2pt)), ".", ",")
     
        'Calcul le nombre de caractères restant : Len(maVal)
        Dim maVal2 As String
            maVal2 = Left(maVal, Len(maVal) - 1)
     
        'renseigne la cellule "N4"
        Set maFeuil = ThisWorkbook.Sheets("ANALYSE")
        maFeuil.Range("K4").Value = maVal2
     
    End Sub
    Merci par avance pour vos réponses Passez une agréable soirée

    David

  2. #2
    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

  3. #3
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Octobre 2019
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Vietnam

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2019
    Messages : 45
    Par défaut
    merci mercatog ca marche niquel

Discussions similaires

  1. [XL-2010] Rechercher un mot dans un colonne et extraire la ou les lignes correspondantes
    Par matthieu44 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2017, 11h53
  2. Recherche d'égalités dans 2 colonnes différentes
    Par MrcRafale dans le forum Macros et VBA Excel
    Réponses: 183
    Dernier message: 04/10/2016, 12h54
  3. Recherche de doublons dans 2 colonnes de 2 classeurs
    Par Mél3790 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 29/09/2016, 12h35
  4. Réponses: 6
    Dernier message: 31/01/2012, 18h38
  5. recherche de donnée dans 2 colonnes
    Par zeloutre dans le forum Access
    Réponses: 10
    Dernier message: 05/03/2007, 12h08

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