Manipuler une (sous)zone de texte appartenant à un groupe (de zones de text

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_") :

screen

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 :

    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?

Bonsoir,

Je n'ai pas la solution... Mais avez vous lancé L'enregistreur de macro en sélectionnant un groupe puis en modifiant le texte d'une sous zone afin de connaître le moyen de pointer sur elle ?

@ bientôt

LouReeD

Bonsoir,

Je n'ai pas la solution... Mais avez vous lancé L'enregistreur de macro en sélectionnant un groupe puis en modifiant le texte d'une sous zone afin de connaître le moyen de pointer sur elle ?

@ bientôt

LouReeD

Très exact... Essaye et communique nous le code.

Bonsoir,

un fichier test :

@ bientôt

LouReeD

Merci à tous pour vos réponses.

J'ai trouvé l'erreur.

En écrivant S.Range(Identifiant_PB & "_2").Select, j'essayais de trouver la zone de texte Identifiant_PB & "_2" situé dans le shape S.

Hors S était celle d'a coté.

For Each S In ActiveSheet.Shapes
            If Left(S.Name, 3) = "PB_" Then
                Identifiant_PB = Right(S.Name, Len(S.Name) - 3)
                Fichier_Synoptique.Sheets(1).Shapes.Range(Identifiant_PB & "_2").Select
                If Fichier_Synoptique.Sheets(1).Shapes.Range(Identifiant_PB & "_2").TextFrame2.TextRange.Characters.Text = "OK" Then
                    Contenu_PB = Fichier_Synoptique.Sheets(1).Shapes.Range(Identifiant_PB & "_3").TextFrame2.TextRange.Characters.Text

                End If
            End If
Next S
Rechercher des sujets similaires à "manipuler zone texte appartenant groupe zones text"