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éation shape connector entre cellules


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Création shape connector entre cellules
    Bonjour,

    Je désire créer dans une macro en VBA un Shape type Connector avec un Begin connect et un Endconnect portant non pas sur un autre shape (cela marche très bien entre 2 rectangles par exemple) mais sur 2 cellules.

    J'ai essayé en créant un commentaire dans les 2 cellules et en essayant de créer le connector entre les 2 shapes comment mais sans succès.

    Le but est d'avoir des liens entre les cellules qui soient correctement conservés même si l'on modifie le tableau (insertion, suppression, masquage de lignes ou de colonnes, changement de formes etc...)

    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut
    Bonjour et bienvenue sur le forum,

    Il me semble que les connecteurs ne peuvent pas s'attacher à une cellule mais à un objet. Une solution pourrait être de créer des objets invisibles (rectangle sans bordure ni remplissage ou tout autre objet sans remplissage ni bordure) sur les cellules que tu veux relier visuellement puis de positionner tes connecteurs.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse,

    malheureusement ta suggestion n'est pas satisfaisante.

    Si je crée une forme ou Shape (même invisible et translucide) elle est créée en références par rapport à la feuille et toute modification de la feuille (insertion de ligne, de colonne ou de cellule) influe sur cette Shape.
    De plus je cherche à la créer dans une macro VBA lors du remplissage de la cellule concernée dont la position est variable.
    Le seul type que j'arrive à lier à une cellule est un commentaire qui est bien reconnu comme Shape mais je n'arrive pas à définir le beginconnect s'un connecteur sur cette forme ni le Endconnect sur une autre.

    Donc j'espère une autre solution.

    Merci d'avance

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut début de réponse ?
    On n'est jamais aussi bien servi que par soi-même.

    Faute de trouver un moyen d'utiliser un connecteur
    (j'espère que quelqu'un trouvera un jour),
    voici la méthode pour tracer un simple trait:
    Dans ce code les points de début et de fin du trait sont aux centres
    des cellules de départ et d'arrivée mais suivant le besoin il est aisé de définir
    d'autres positions.
    On ne sait jamais cela peut servir à quelqu'un d'autre sur le forum





    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
    Sub Macro1()
     
        Call DrawLine(Range("B5"), Range("E7"))
     
    End Sub
    '
     
    Sub DrawLine(FromCell As Range, ToCell As Range)
     
        With FromCell.Parent.Shapes.AddLine(1, 1, 1, 1)  ' on crée une forme
                                                         'On définit le trait comme une diagonale de rectangle
                                                         'On détermine d'abord le point haut gauche du rectangle
            .Left = FromCell.Left + (FromCell.Width / 2) ' la gauche du début est définie par la position gauche de
                                                         ' la cellule de départ plus la moitié de sa largeur
            .Top = FromCell.Top + (FromCell.Height / 2)  ' la hauteur du début est définie par la position haute
                                                         ' de la cellule de départ plus la moitié de sa hauteur
            .Width = (ToCell.Left + (ToCell.Width / 2)) - .Left ' la largeur du rectangle est définie par
                                                                ' la position gauche de la cellule d'arrivée
                                                                ' + la moitié de la largeur de la cellule d'arrivée
                                                                ' - la position gauche du rectangle
                                                                ' (ou du point de départ du trait)
            .Height = (ToCell.Top + (ToCell.Height / 2)) - .Top ' la hauteur du rectangle est définie par
                                                                ' la position haute de la cellule d'arrivée
                                                                ' + la moitié de la hauteur de la cellule d'arrivée
                                                                ' - la position haute du rectangle
                                                                ' (ou du point de départ du trait)
        End With
     
     
     
     
    End Sub

Discussions similaires

  1. Créations et liens entre Javadoc
    Par marchand_de_sable dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 10/06/2006, 16h07
  2. [VBA-E] Tracé de flèche entre cellules
    Par truman dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/04/2006, 09h48
  3. Les DTD et les espaces entre cellules de tableaux
    Par YuGiOhJCJ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 14/01/2006, 22h26
  4. [Excel]conditions entre cellules
    Par fthem dans le forum Excel
    Réponses: 5
    Dernier message: 13/01/2006, 20h23
  5. [CSS] Couleur et forme bordure entre cellules
    Par Trunks dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/05/2005, 14h19

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