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 :

recupérer l'ITEM du forme après insertion dans EXCEL


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    recupérer l'ITEM du forme après insertion dans EXCEL
    bonjour à tous,
    je cherche dans les Forums (sans succès) pour trouver les méthodes ou propriétés pour récupérer l'ITEM d'une forme,
    sur une feuille Excel, après avoir fait l'insertion.

    -->ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, gch, ht, lrg, 12).Select

    quand je selectionne sur la feuille une forme, j'ai le nom qui s'affiche dans le coin sup gauche de la feuille, c'est le nom du Range.
    mais je ne vois pas le bout de code pour le recuperer.
    une personne pourrait-elle me diriger vers le bon forum? ou m'indiquer une piste ?
    merci d'avance
    Lam83

  2. #2
    Responsable
    Office & Excel

    Salut,

    Lorsque tu saisis le code, tu as normalement une infobulle qui t'aide et qui t'informe. Avec le code que tu utilises (ActiveSheet), tu ne disposes malheureusement pas de cette aide car ActiveSheet peut pointer vers différents objets (Worksheet et Graph, principalement). Mais si tu remplaces Activesheet par le nom VBA d'une feuille existante, tu verras cette infobulle...



    Donc, le code que tu utilises appelle une fonction (AddShape) qui renvoie un objet Shape. Dès lors, tu peux utiliser ceci pour affecter l'objet créé à une variable de type Shape, et tu pourras alors en manipuler les propriétés et méthodes...

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Test()
      Dim sh As Shape
     
      Set sh = Feuil1.Shapes.AddShape(msoShapeRoundedRectangle, 0, 0, 200, 12)
    End Sub
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié la réponse? =>
    ---------------

  3. #3
    Membre à l'essai
    Bonjour,
    j'ai modifié mon code dans ce sens.
    j'y vois plus de possibilités, bien que je suis pas familier avec cette façon.
    je vais m'entrainer.
    merci pour ces conseils
    Lam83

  4. #4
    Responsable
    Office & Excel

    L'intérêt, c'est que tu bénéficies de l'aide à la saisie puisque sh est typé... Tu as donc facilement accès aux propriétés et méthodes grâce à la notation pointée.

    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié la réponse? =>
    ---------------

###raw>template_hook.ano_emploi###