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 :

AutoShape « Bulle » : Quelle est la propriété pour le point d'ancrage [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Points : 13
    Points
    13
    Par défaut AutoShape « Bulle » : Quelle est la propriété pour le point d'ancrage
    J'ai une feuille dans Excel 2003 où j'ai une image d'une carte géographique. Sur celle-ci, j'ai placé des formes automatiques » AutoShape » de bulle. J'arrive très bien à modifier les propriétés « Left, Height, Top et Width » de ces « Shape ». Mais je ne trouve pas le nom de la propriété qui représente le point jaune d'ancrage de la « Shape ». Est-ce que quelqu'un peut m'aider ?

  2. #2
    Invité
    Invité(e)
    Par défaut Collection Adjustments d'un objet Shape
    Bonsoir,

    Ci-joint, un travail sur les formes.

    Toutes les formes ne comportent pas de "points jaunes". Celles avec, ont une collection Adjustments comportant un nombre variable d'Items. Chaque item possède une paire de coordonnées (1,1), (1,2) mais sauf erreur de ma part, pas directement transposable en coordonnées écran.

    On peut transformer une forme avec Adjustments en une forme libre en modifiant la position d'un point (clic droit Modifier les points une fois sélectionnée la forme).

    Le fichier joint prend quelques exemples de formes avec Adjustments et de formes libres issues de formes avec Adjustments.

    En cliquant sur le bouton Liste des formes et en sélectionnant une forme, la boite de dialogue indique le cas échéant la position des items des formes avec Adjustments et pour les formes libre la position du point le plus bas de la forme. C'est ce point que vous recherchez.

    La deuxième feuille montre comment transformer la forme pour en faire une forme libre.

    Cordialement.
    Dernière modification par Invité ; 24/12/2013 à 07h23.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Message d'erreur
    Merci pour l'information.

    Quand je lance le démo, je reçois le message d'erreur suivant :

    Module : « Module1 »
    Procédure : « Information Item »
    Ligne d'instruction « If ShapeEnCours.Adjustments.Count > 0 Then »
    Message :
    « Erreur d'exécution '-2147024809 (80070057)

    L'accès à ce membre n'est possible que pour un objet FormeAutomatique, un connecteur ou un objet WordArt. »

    Auriez-vous une idée de la solution à ce messahe d'erreur ?

    Merci,

    Christian

  4. #4
    Invité
    Invité(e)
    Par défaut
    Remplacez la macro InformationItem par celle -ci :

    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
    Sub InformationItem(FeuilleEtudiee As Worksheet, ByVal NomDeLaForme As String)
     
    Dim ShapeEnCours As Shape
    Dim ValeursItems As String
     
     
     
        NumeroDeForme = IndiquerLeNumeroDeForme(FeuilleEtudiee, NomDeLaForme)
     
     
        If NumeroDeForme > 0 Then
     
            With UserForm1
     
                .TextBoxNumeroDeForme = NumeroDeForme
     
                Set ShapeEnCours = FeuilleEtudiee.Shapes(NomDeLaForme)
                ShapeEnCours.Select
                ValeursItems = "Adjustments : " & Chr(10)
     
                On Error Resume Next
                If ShapeEnCours.Adjustments.Count > 0 Then
                For I = 1 To ShapeEnCours.Adjustments.Count
                      On Error Resume Next
                      ValeursItems = ValeursItems & "Item  : " & I & ", valeur : " & ShapeEnCours.Adjustments.Item(I) & Chr(10)
                Next I
                Else
                       ValeursItems = "Pas d'adjustments pour cette forme"
                End If
     
                ShapeEnCours.Select
     
                .TextBoxRenseignementForme = "Numéro de forme : " & NumeroDeForme & Chr(10) & "Gauche : " & ShapeEnCours.Left & " Haut : " & ShapeEnCours.Top & Chr(10) & _
                       "Longueur : " & ShapeEnCours.Width & " Hauteur : " & ShapeEnCours.Height & Chr(10) & ValeursItems
     
                Set ShapeEnCours = Nothing
     
            End With
        End If
     
     
    End Sub
    Cordialement.
    Dernière modification par Invité ; 24/12/2013 à 07h05.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Le succès !
    Merci beaucoup.

    Là je comprends, je maîtrise et ça fonctionne bien !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/06/2008, 13h01
  2. quelle est la propriété pour dérouler/ouvrir un liste ?
    Par chapeau_melon dans le forum WinDev
    Réponses: 2
    Dernier message: 26/11/2007, 18h08
  3. Réponses: 7
    Dernier message: 20/06/2006, 15h40
  4. Réponses: 1
    Dernier message: 09/06/2006, 12h04

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