Numéroté des shapes (formes graphiques)

FB2019 Messages postés 7 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Objectif: numéroté des shapes (oval) automatiquement sur EXCEL

Je voudrai, en vba, afficher une forme ovale à l'intérieur duquel j'affiche un numéro. Ce numéro doit tenir compte des autres formes ovales qui contiennent elles aussi un numéro. Autrement dit, j'affiche des photos dans une feuille et je voudrai les numérotés à l'aide de formes ovales qui s'incrémente au fur et à mesure. Comment faire en sorte avec une macro VBA pour afficher la forme ovale et puis afficher à l'intérieur le n° qui tient compte de son rang d'arrivée?

Exemple: j'ai 10 photos sur une feuille (onglet) et j'ai 3 formes ovales déjà afficher (contenant les N° 1, 2 et 3). Je lance la macro et celle-ci affiche une nouvelle formes ovales (du même style que les autres) et ajoute à l'intérieur le N° incrémenté c'est à dire 4. Si je relance la macro elle affichera une autre forme ovale avec 5 dedans.

Merci d'avance pour l'aide que vous pourriez m'apporter.

3 réponses

  1. FB2019 Messages postés 7 Statut Membre
     
    Merci pour ta réponse rapide.
    En effet, j'ai trouvé des pistes pour avancer sur le sujet.
    encore merci.
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Pour trouver la shape la dernière incrémentée, tu peux faire ceci:

      Sub LireTexteShapes()
      Dim s As Object
      Dim i As Integer
      Dim max As Integer
        For Each s In ActiveSheet.Shapes
          i = i + 1
          Cells(i, 1) = s.Name
          Cells(i, 2) = TexteShape(s)
        max = Application.max(Columns(2))
        Next s
        MsgBox max
      End Sub
      Function TexteShape(s)
        TexteShape = s.TextFrame.Characters.Text
      End Function
      


      il suffit de remplacer le MsgBox par une variable

      Voilà

      @ + Le Pivert
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous les deux

    Une autre possibilité sans passer par les cellules
    https://www.cjoint.com/c/ICen3kAr5MB

    Cdlmnt
    0