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

VBA PowerPoint Discussion :

Boucler sur des shapes qui ont un nom de base [PPT-2010]


Sujet :

VBA PowerPoint

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Boucler sur des shapes qui ont un nom de base
    Bonjour à toutes et à tous,

    j'ai créé des objets shapes que j'ai nommés dans une diapositive. Mes shapes dépendent de zones que j'ai attribuées.
    Ils ont donc des noms de base du style [Zone]_[nom_du_shape]

    Je souhaiterais parcourir certains shape appartenenant à une zone donnée afin de modifier éventuellement des attributs par VBA.

    Je ne trouve pas le moyen de parcourir ces shapes en discrétisant ce que je recherche pour modification.

    Pourriez me guider sur ce sujet ?

    merci de votre aide.

    Bonne journée

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut J'ai peut-être trouvé
    Je pensais faire ceci :


    for each forme in pptSlide.Shapes
    if forme.Name like "[Zone]_" then forme.monAction
    next forme

  3. #3
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,
    Ce que tu as commencé est pas mal pour lister :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim pptShape as shape
    Dim pptSlide as slide
     
    set pptSlide = activepresentation.activeslide
     
    for each pptShape in pptSlide.Shapes
    if pptShape.Name Like "[Zone]_*" then
    ...
    end if
     
    next pptShape
    Qu'est-ce qui ne va pas dans ce que tu avais fait ?
    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Suite
    merci Gado pour votre aide. En fait j'avais oublié l'étoile ! :-)

    Par contre je cherche à récupérer les shapes qui ont un nom de base style ZONE_ALPHA_nomObjet mais pour récupérer seulement nomObjet et pas le shape.name complet. Et là suis un peu coincé !

  5. #5
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,
    Tu as la possibilité de te baser sur le second "_" de tes noms et de faire un Right(nom_du_shape, nb_caractères_a_partir_de_la_fin)
    En regardant sur ce tutoriel, tu trouveras ton bonheur :
    http://silkyroad.developpez.com/VBA/...nesCaracteres/

    Avec InStr, nb_caractères_a_partir_de_la_fin donnerait :
    nb_caractères_a_partir_de_la_fin = InStr(6, nom_du_shape, "_")
    J'ai pris 6 comme valeur de départ pour être sur de commencer à partir de ZONE_A (ce qui met de côté le premier _)

    Bref, lis ce tutoriel, il t'expliquera mieux que moi
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Merci
    merci Gado pour ces explications.

  7. #7
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Pas de soucis
    N'oublie pas de mettre Résolu si tu estimes que c'est ok.
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut [RESOLU]

    je ne sais pas où il faut mentionner que le post est résolu du coup je l'ai mis dans l'intitulé.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/03/2015, 14h20
  2. Rechercher BD, nom des tables qui ont une colonne "location"
    Par arnaudperfect dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/10/2008, 11h33
  3. Boucler sur des noms de procedures/functions
    Par sp2308 dans le forum Débuter
    Réponses: 3
    Dernier message: 13/10/2008, 18h19
  4. Comment faire un DROP sur des tables qui change de nom ?
    Par GeantBioHazard dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/07/2008, 15h03
  5. SELECT des lignes qui ont exactement 4 valeurs sur la colonne ?
    Par mamiberkof dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/01/2008, 15h00

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