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 :

Manipulation de Groupe TextBox - Shape Range [XL-2007]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut Manipulation de Groupe TextBox - Shape Range
    Bonjour,

    Je testouille et voila mon PB,

    J'ai plusieurs Zone de Text dans une feuille, des groupés et d'autre non.
    Le nom pour les groupes de TextBox et les TextBox ne doit pas être modifié (important pour mes manip après).

    Ma Macro détermine si dans ma feuille j'ai des TextBox ou des groupes de TexteBox et affiche leur nom dans des MsgBox.
    Pour cela quant elle rencontre un groupe de TextBox elle le dégroupe pour plutard les manipuler (donc perte du groupe et de son nom) puis lis le nom des TextBox et les regroupe (donc crée un nouveau nom) et donc renomme le groupe de son ancien nom.

    Ma macro quand elle rencontre des TextBox non grouper sa va.
    Mais pour les groupes de TextBox : à la première rencontre elle dégroupe bien les deux TextBox et les regroupe bien avec le bon NOM
    mais à la 2em rencontre ça plante ! dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set S = Fe.Shapes.Range(Tbl).Group
    avec le message du débugeur :
    [Erreur Execution 1004 le groupage est désactivé pour les formes sélectionnées.]


    késako ?


    en gros je veux une macro qui manipule des TextBox ou Groupe de TextBox par leur NOM dans une feuille,
    les grouper dégrouper, changer le texte l’intérieur d'un groupe à un membre Nommé, changer la position,


    Lino
    Ci-Joint mon fichier

    Infos après plantage :
    Après le plantage revenir sur la feuille <Model etiquette 1>
    Sélectionner <ZoneText1> <ZoneText2> qui n'ont pas été regroupé suite au plantage et les grouper sous le nom <GroupeEQT>

    la Macro :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    Sub Recup_Name_Group_et_sousGroup()
    '
    Dim Fe As Worksheet
    Dim Tbl() As Variant
    Dim S As Shape
    Dim Sh As Shape
    Dim i As Integer
    Dim J As Integer
     
    Dim oldnamegroup As String
    Dim namegroupcrea As String
     
     
    Set Fe = Sheets("Model etiquette 1")
     
        For Each S In Fe.Shapes
     
            'Si le shape fait parti d'un groupe
            If S.Type = msoGroup Then
                MsgBox "Nom du GROUP : <" & S.Name & ">"
                oldnamegroup = S.Name
     
                For i = 1 To S.GroupItems.Count 'boucle sur le groupe afin de récupérer les noms des différents shapes composant le groupe
                    J = J + 1
                    ReDim Preserve Tbl(1 To J)
                    Tbl(J) = S.GroupItems(i).Name
                    'MsgBox S.GroupItems(i).Name
                Next i
     
                'Dégroupe
                Fe.Shapes(S.Name).Ungroup
     
                'Parcour les différents shapes du groupe et affecte la valeur voulue au shape (OptionButton et ChekBox) si tant est qu'il est une proriété "Value"
                For i = 1 To UBound(Tbl)
                    On Error Resume Next 'si pas de propriété "Value"
                    MsgBox "Nom du Sous GROUP : <" & Fe.Shapes(Tbl(i)).Name & ">"
                Next i
     
                'annule la gestion des erreurs
                On Error GoTo 0
     
                'Reconstitue le groupe AVEC le Bon NOM !!!
                Set S = Fe.Shapes.Range(Tbl).Group  ' Message du debugeur : ERREUR 1004 le groupage est déactivé pour les formes sélectionnées
                MsgBox "Nom Voulu : <" & oldnamegroup & ">" & "Nom Temporaire : <" & S.Name & ">"
                S.Name = oldnamegroup
     
                oldnamegroup = ""
                namegroupcrea = ""
                Erase Tbl 'Vide le tableau
                J = 0
     
            ElseIf S.Type = msoTextBox Then
                MsgBox "NOT A GROUP : " & S.Name & " Type : <" & S.Type & ">"
            Else
                MsgBox "NOT A GROUP OR TEXTBOX ! What is it ? " & S.Name & " Type : <" & S.Type & ">"
            End If
     
        Next
     
    End Sub
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Manipulation de Groupe TextBox
    Par linodev dans le forum Excel
    Réponses: 0
    Dernier message: 05/11/2013, 13h04
  2. [Flex4] Flex et manipulations de groupes Active Directory
    Par diabli73 dans le forum Flex
    Réponses: 0
    Dernier message: 12/03/2012, 14h33
  3. Réponses: 18
    Dernier message: 26/05/2008, 21h52
  4. Pb selection - shapes - range
    Par abennis dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/07/2007, 19h05
  5. [VB]Pb update entre mon group textbox(i) et ma DataSource
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 31/01/2006, 09h23

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