Excel VBA: Retrouver checkbox changer le cellule lié par macro

ricepie Messages postés 8 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 1 février 2013 - 1 févr. 2013 à 11:09
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 1 févr. 2013 à 13:57
Bonjour,
Après plusieurs recherches sur Internet, je n'ai pas réussi à faire une macro qui fait des copie/ colles dans une même feuille. La partie copiée/collée contient un checkbox. Après la macro, le check box est copiée collée automatiquement avec sa région. Je dois retrouver ce check box par le code et changer le cellule auquel il est lié. Parce que une fois copiée, le nouveau check box est lié au même cellule que son origine. Il faut donc le lier à un nouveau cellule.

Mon problème est que je ne sais pas comment avoir le nombre total des check box qui ont été créés dans la feuille. La commande 'ActiveSheet.OLEObjects.Count' donne tj 0. Si je trouve le nombre total des check box créés, je peux utiliser la commande

ActiveSheet.Shapes.Range(Array("Check Box " & nbChk)).Select
d'où nbChk nb total des chech box créés +1 le nom du plus récent check box créé
Je vous remercie pour toute suggestion.

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 févr. 2013 à 13:57
Salut

Tu as la réponse dans ta question.
Tu dis que, une fois le nombre d'objets connu, tu peux retrouver ses infos avec la syntaxe ActiveSheet.Shapes.Range ...
Eh bien intéresse toi à la collection de Shapes de ta feuille, plutôt qu'aux objets OLE.

ActiveSheet.Shapes.Count
devrait faire l'affaire.

Méfie toi, il me semble que lors d'une création, le dernier index n'est pas forcement le dernier créé.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0
Rejoignez-nous