Bonjour Lolopixx, LouReeD,
Deux possibilités:
La première,
Si la feuille est vierge de formes ou si elles sont peu nombreuses. Création de cellules nommées avec le même nom que la forme.
Exemple en cellule A2 nommée Toggle_Background_ Voir menu Excel Formules Définir un nom
Il suffit ensuite dans la macro de création de formes d'ajouter au tout début cette ligne
Range(Names("Toggle_Background_")) = Range(Names("Toggle_Background_")) + 1
Puis pour nommer la forme, de récupérer ce nombre qui s'incrémente à chaque fois que l'on ajoute la même forme.
La deuxième ,
S'il existe déjà beaucoup de formes diverses insérées. De passer par une fonction comme ci dessous
Function Maxi(nom)
Dim Shp As Shape
Num = 0
For Each Shp In ActiveSheet.Shapes
If Shp.Name Like nom & "*" Then Num = WorksheetFunction.Max(CInt(Replace(Shp.Name, nom, "", 1)), Num)
Next
End Function
Elle est appelée en ajoutant la ligne de code en début de ta macro d'ajout de formes. Et en plaçant un Public Num as Integer en haut du module.
Call Maxi("Toggle_Background_")
.Name = "Toggle_Background_" & Num + 1
Ci-dessus pour un nommage par Toggle_Background ou tout autre nom.
Bons tests, bonne continuation.