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"
mais comment faire pour qu'il prenne la ligne +1 sur maCel stp ?
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)
car c'est le
Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part "number": 680,
qui m'intéresse de récupérer comme info
et là le 680 ...¨
j'ai essayé avec ça :
mais ca me crée une erreur ici :
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
j'ai essayé cela aussi (mais ca ne marche pas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part maCel2 = (maCel.Row) + 1
Merci par avance pour vos réponses
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 SubPassez une agréable soirée
David
Partager