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 :

Créer un schéma fléché à partir d'un tableau excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2015
    Messages : 35
    Par défaut Créer un schéma fléché à partir d'un tableau excel
    Bonjour,
    J'ai un tableau excel de 10 lignes, chaque ligne représente une étape.
    Je souhaiterais savoir s'il est possible de créer un bouton contrôle me permettant de générer un schéma fléché reprenant les 10 étapes du processus indiqué dans mon tableau ?

  2. #2
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2015
    Messages : 35
    Par défaut !!
    Personne pour m'aider ??

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Si, moi :p

    Voilà, j'ai essayé de détailler, dis-moi ce que tu en penses !

    Important : on part du principe que tes formes seront faites dans la même feuille que le tableau source avec les étapes, et tes étapes sont écrites en A2:A11

    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
    Sub test()
     
    'Ici on efface toutes les formes qui sont déjà présentes dans la feuille
    'afin d'éviter de créer des formes par dessus les existantes
    For Each sh In Activesheet.Shapes
        sh.Delete
    Next sh
     
    'Déclaration des variables
    Dim Etape As Shape 'L'étape sera une forme
    Dim EtapePrécédente As Shape 'L'étape précédente aussi
    Dim Fleche As Shape 'La fleche le sera également
    Dim Gauche As Single, Haut As Single 'Coordonnées du coin haut/gauche de chaque étape, ce seront des nombres
    Dim Largeur As Single, Hauteur As Single 'Dimensions des étapes, nombres également
    Dim PasGauche As Single, PasHaut As Single '"pas", décalage d'une étape à une autre, nombres également
     
    'Affectation des variables, change ici pour mettre ce que tu veux
    Gauche = 100
    Haut = 30
    Largeur = 100
    Hauteur = 50
    PasGauche = 100
    PasHaut = 75
     
    For ligne = 2 To Range("A" & Rows.Count).End(xlUp).Row 'pour la ligne 2 à la dernière trouvée en colonne A
        Set Etape = Activesheet.Shapes.AddShape(msoShapeRectangle, Gauche, Haut, Largeur, Hauteur) 'tu ajoutes la forme
        With Etape
            .TextFrame2.TextRange.Text = Cells(ligne, "A").Text 'on écrit l'intitulé de l'étape depuis le tableau excel
            .TextFrame2.HorizontalAnchor = msoAnchorCenter 'on centre horizontalement
            .TextFrame2.VerticalAnchor = msoAnchorMiddle 'On centre verticalement
            .Fill.ForeColor.RGB = RGB(Rnd * 255, Rnd * 255, Rnd * 255) 'couleur aléatoire
        End With
        If Not EtapePrécédente Is Nothing Then 'si l'étape précédente existe (voir quelques lignes plus bas)
            Set Fleche = Activesheet.Shapes.AddConnector(msoConnectorCurve, 100, 100, 200, 200)
            Fleche.ConnectorFormat.BeginConnect EtapePrécédente, 3
            Fleche.ConnectorFormat.EndConnect Etape, 2
            'NOTA, les BeginConnect et EndConnect pour les rectangles sont 1 = en haut, 2 à gauche, 3 en bas, 4 en haut
            Fleche.Line.EndArrowheadStyle = msoArrowheadOpen 'tu spécifies que la fin du connecteur est une fleche
        End If
     
        Set EtapePrécédente = Etape 'avant de passer à l'étape suivante, tu écris que celle en cours sera appelée "précédente"
        Gauche = Gauche + PasGauche 'tu incrémentes avec le pas choisi
        Haut = Haut + PasHaut 'tu incrémentes avec le pas choisi
    Next ligne 'tu passes à la ligne suivante sur le tableau Excel
     
    End Sub

  4. #4
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2015
    Messages : 35
    Par défaut Super !!!
    Merci beaucoup pour ton aide.
    Je vais devoir maintenant l'adapter afin de personnaliser un peu.
    Car je souhaiterais qu'il m'affiche uniquement les lignes comportant des données.
    Mais là j'ai une base de travail ce que je n'avais pas avant.
    Encore merci

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

Discussions similaires

  1. Créer une image à partir d'un tableau EXCEL
    Par ARobel20 dans le forum Développement Windows
    Réponses: 0
    Dernier message: 04/04/2014, 17h30
  2. Réponses: 1
    Dernier message: 03/07/2012, 07h05
  3. [XL-2007] Créer un fichiers .ics à partir d'un tableau excel adapté pour outlook
    Par XceSs dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/03/2012, 19h14
  4. [Toutes versions] Créer un recordset à partir d'un tableau Excel filtré
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/05/2011, 11h51
  5. [Tableaux] Créer un camembert a partir d'un tableau
    Par tiantian dans le forum Langage
    Réponses: 12
    Dernier message: 16/07/2007, 14h39

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