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 :

Utiliser un "group" dynamiquement en VBA [XL-2002]


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
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Par défaut Utiliser un "group" dynamiquement en VBA
    Bonjour à tous,

    Je vous expose un nouveau problème.
    J'ai plusieurs objets sur une feuille et je veux les grouper par VBA.
    D'après ce que je comprends pour utiliser un group, il faut passer par un array:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes.Range(Array(arglist)).Group
    Le problème avec ce code c'est qu' Array me fixe le nombre d'objets alors que ce dernier peut changer.
    Je pensais mettre Array dans une variable variant, redimensionner à chaque fois cette variable et l'insérer dans range. Mais il me ressort une erreur.

    Voilà ce que je pensais faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim tab as Variant
     
    tab = Array()
    redim preserve tab(2)
    tab(0) = "Form1"
    tab(1) = "Form2"
     
    ActiveSheet.Shapes.Range(tab).Group
    Je ne vois pas d'autres solutions et celle-là ne fonctionne pas.
    N'y aurait-il pas un autre moyen de créer un groupe dynamiquement?

    Je vous remercie d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Par défaut
    Bon ben mon problème est résolu.

    En fait la solution que j'ai proposé plus haut est bonne. C'est juste que j'avais mis des valeurs, dans mon tableau, qui ne correspondaient à aucune forme (flèche, trait, zone de texte, etc...).

    Je vais même réécrire mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim tab()
     
    Redim tab(1) 'le preserve sert à préserver les valeurs initialement mises dans
                      'tab. Ici tab n'est pas initialisé. On n'en a pas besoin.
     
    tab(0) = "Form1"
    tab(1) = "Form2"
     
    ActiveSheet.Shapes.Range(tab).Group

    Désolé du dérangement si quelqu'un était en train de chercher la solution pour moi.
    Mais bon j'espère pouvoir aider plus d'un avec ce que j'ai proposé.

    Au revoir

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/11/2006, 18h00

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