Numéroté des shapes (formes graphiques)

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. Bonjour à tous les deux

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

    Cdlmnt
    0
    1. Merci pour ta réponse rapide.
      En effet, j'ai trouvé des pistes pour avancer sur le sujet.
      encore merci.
      0
      1. Contributeur
        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