Bien sûr, il est assez straigtforward:
Sub PrintShapeID()
Debug.Print getIDByName("My Shape", 1)
End Sub
Function getIDByName(shapeName As String, slide As Integer)
Dim ap As Presentation: Set ap = ActivePresentation
Dim sl As slide: Set sl = ap.Slides(slide)
Dim sh As Shape: Set sh = sl.Shapes(shapeName)
getIDByName = sh.Id
End Function
Cela fonctionne pour la diapositive que vous spécifiez. Vous pouvez également faire défiler toutes les diapositives, mais notez qu'il peut y avoir plus d'une forme avec le même nom, vous devez donc déterminer laquelle vous voulez.
Je ne suis pas un VB'er, donc ce n'est pas aussi simple pour moi. :) –
@muntoo: pas de problème, je suis là pour vous aider :) –