[VBA] Supprimer certains boutons

PtitGenie7 Messages postés 10 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 6 avril 2010 - 25 mai 2007 à 22:10
PtitGenie7 Messages postés 10 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 6 avril 2010 - 5 juin 2007 à 12:16
Bonsoir à tous!

Ce que je veux faire :
Crée sur une première feuille des Option Bouttons. Leur nombre correspond au nombre total de feuilles du classeur, et chaque boutton prend le nom d'un feuille.
Donc si j'ajoute une feuille, à la prochaine ouverture il y aura un bouton en plus avec son nom.
Ca, j'y arrive...

Je vous expose mon petit problème :
Lorsque le classeur s'ouvre, avec mon Auto_Open() se crée à chaque fois N Options Boutons.
Mon problème, c'est que forcément à chaque ouverture il en crée N nouveaux totalement identiques... et forcément aussi par dessus ceux qui étaient là avant!
Alors j'ai eu dans l'idée d'utiliser Auto_Close() pour insérer un code qui servirait à supprimer ces N boutons lorsque le classeur se ferme.
Mais je ne trouve pas quoi utiliser comme code pour faire cela!
J'avais dans l'idée d'utiliser

ActiveSheet.Buttons("Option Button").Delete

Mais comment récupérer le nom du bouton pour savoir quoi mettre entre les guillements...
Enfin voilà, j'ai testé pleins de trucs sans succès.

Merci d'avance à l'âme qui pourra m'aider!

3 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
26 mai 2007 à 16:05
Salut,

voici un code pour parcourir les contrôles situés dans une feuille :

Sub Exemple()
    Dim Obj As OLEObject
    
For Each Obj In Worksheets("Nom Feuille").OLEObjects
    If TypeOf Obj.Object Is MSForms.OptionButton Then
        MsgBox Obj.Name
    End If
Next Obj

End Sub

~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--

Le mystérieux chevalier, ~Provençal
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
26 mai 2007 à 17:34
Salut,

il serait préférable de ne créer des boutons que s'il ne sont pas présent plutot que de les créer et de les supprimer a chaque fois.

2 solutions :
Soit tu utilises le code de mortalino et tu l'adapte.
Soit tu cherches utilises la fonction IsExist (si elle existe sur Excel) et si cette fonction te retourne NON, tu crée le controle qui manquent.
0
PtitGenie7 Messages postés 10 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 6 avril 2010
5 juin 2007 à 12:16
Merci beaucoup pour vos réponses! (et désolé du retard...)
Je vais tester tout ça, et voir ton conseil Nicko ^^
0