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

Powerpoint Discussion :

Créer un organigramme hiérarchique avec VBA [PPT-2010]


Sujet :

Powerpoint

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 152
    Par défaut Créer un organigramme hiérarchique avec VBA
    Bonjour à tous,

    Je veux charger automatiquement depuis Access un Organigramme hiérarchique de Powerpoint. Les smartarts de la catégorie Hiérarchie conviennent parfaitement à ce que je veux faire.

    Quand on clique dans le masque, une fenêtre s'ouvre à gauche avec le titre "Tapez votre texte ici", et on peut saisir du texte avec indentation.

    Comme Powerpoint 2010 ne propose pas d'enregistreur de macro et que je n'ai rien trouvé dans mes explorations du web je m'adresse à vous pour la question suivante : comment écrire dans cette fenêtre en VBA et non manuellement ou par copier/coller ?

    Par avance merci de votre aide.

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2008
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 270
    Par défaut
    Bonsoir arundel, le forum,

    Voici un exemple qui permet de manipuler ce SmartArt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim orga As Shape
        Set orga = ActivePresentation.Slides(1).Shapes.AddSmartArt(Application.SmartArtLayouts(92))
     
        With orga.SmartArt
            'modifier le texte du premier noeud
            .Nodes(1).TextFrame2.TextRange.Text = "Premier noeud"
     
            'ajouter un noeud
            With .Nodes(1).Nodes(1).Nodes(2).AddNode(msoSmartArtNodeBelow)
                .TextFrame2.TextRange.Text = "Noeud ajouté"
            End With
        End With
    End Sub
    Tu peux consulter l'aide sur l'objet SmartArt qui est composé d'une collection SmartArtNodes (SmartArt.Nodes) contenant de l'ensemble des nœuds (SmartArtNode) de premier niveau. Chacun nœud possède sa collection de nœuds fils.

    Bon courage et à+

  3. #3
    Membre confirmé
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 152
    Par défaut
    Merci mromain pour ta suggestion.

    J'ai regardé la doc Microsoft indiquée par les liens, c'est pour le moins succinct !

    Avant d'aller plus loin dans ce sens, j'ai eu une autre idée qui simplifierait bien les choses : il est facile de transformer une liste à puces en smartart (clic droit > Convertir en graphique smartart).
    Le problème c'est que je n'ai pas trouvé le moyen de le faire par macro.

    Sais-tu si c'est possible ?

  4. #4
    Membre chevronné
    Inscrit en
    Avril 2008
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 270
    Par défaut
    Bonjour,

    Pour l'aide, il faut explorer les membres des objets pour voir ce qu'ils savent faire.
    Mais dans tous les cas, ton idée est quand même bien plus simple.

    Essaye avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActivePresentation.Slides(1).Shapes(1).ConvertTextToSmartArt Application.SmartArtLayouts(97)
    A+

  5. #5
    Membre confirmé
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 152
    Par défaut
    Merci mromain,

    La conversion du texte en smartart fonctionne à merveille.

    En adaptant légèrement à mon contexte j'obtiens exactement le résultat que je souhaitais.

    Encore merci.

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

Discussions similaires

  1. Créer un lien hyperxte avec VBA
    Par ylazardeux dans le forum Excel
    Réponses: 2
    Dernier message: 27/05/2014, 14h38
  2. Créer un vrai seuil avec vba
    Par Samus92500 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/10/2013, 11h54
  3. VBA Excel-Organigramme hiérarchique
    Par mnarchi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/02/2007, 22h14
  4. créer un fichier excell avec VBA(access)
    Par JCH dans le forum Access
    Réponses: 1
    Dernier message: 19/09/2006, 19h07
  5. Créer un formulaire avec VBA ?
    Par Jean Bonnisme dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2004, 10h40

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