Bonjour,
J'ai un fichier excel (généré par macro) qui contient beaucoup de zones de texte (qui finissent par "_1", "_2"ou "_3") que j'ai groupées lot par lot (qui commencent par "PB_") :
J'aimerais récupérer les données contenues dans les zones de texte qui finissent par "_3" et dont la zone de texte finissant par "_2" est égale à OK.
Par exemple, ci-dessus, j'aimerais récupérer "texte 3". mais pas "Texte 6"
Voici le code que j'ai écrit :
Dans ce code, tant que je manipule le groupe, pas de souci.
dès que j'essaye d'atteindre une sous zone --> Echec
Une idée?
J'ai un fichier excel (généré par macro) qui contient beaucoup de zones de texte (qui finissent par "_1", "_2"ou "_3") que j'ai groupées lot par lot (qui commencent par "PB_") :
J'aimerais récupérer les données contenues dans les zones de texte qui finissent par "_3" et dont la zone de texte finissant par "_2" est égale à OK.
Par exemple, ci-dessus, j'aimerais récupérer "texte 3". mais pas "Texte 6"
Voici le code que j'ai écrit :
Code:
For Each S In ActiveSheet.Shapes 'Je parcours l'ensemble des shapes de ma feuille
If Left(S.Name, 3) = "PB_" Then 'Je fais le tri sur uniquement les groupes commencant par PB_ parce que j'ai aussi d'autres shapes dans mon fichier (images, flèches, ...) --> OK
Identifiant_PB = Right(S.Name, Len(S.Name) - 3) 'Je récupère l'identifiant du bloc --> OK
S.Range(Identifiant_PB & "_2").Select 'J'essaye de selectionner le sous-bloc finissant par _2. --> NOK
If S.Range(Identifiant_PB & "_2").TextFrame2.TextRange.Characters.Text = "OK" Then 'Je teste si le sous-bloc finissant par _2 est égal à "OK" --> NOK
Contenu_PB = S.Range(Identifiant_PB & "_3").TextFrame2.TextRange.Characters.Text 'Je stocke le contenu du sous-bloc finissant par _3 dans une variable --> NOK
End If
End If
Next S
Dans ce code, tant que je manipule le groupe, pas de souci.
dès que j'essaye d'atteindre une sous zone --> Echec
Une idée?