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

Signaler
Messages postés
8
Date d'inscription
vendredi 3 décembre 2010
Statut
Membre
Dernière intervention
1 février 2013
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
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)