IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

tester existence d'un contrôle d'une toolbar


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut tester existence d'un contrôle d'une toolbar
    Bonjour,

    Je veux faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        While (myCB.Controls("My button").Enabled = True)
            myCB.Controls("My button").Delete
        Wend
    mais on y passe à chaque fois, que le test soit effectivement vérifié où qu'on tombe dans le cas où l'objet n'existe plus.

    Dans tous les autres langages, on aurait pu tester la nullité de l'objet myCB.Controls("My button") mais là je suis complètement désemparé...

    Parce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IsNull(myCB.Controls("My button"))
    ne fonctionne pas sur le retour suivant :
    <Argument ou appel de procédure incorrect>

    Merci.

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Je ne suis pas sure de tout a fait comprendre ta question mais il me semble que dans ce genre de cas (tu veux que quelque chose soit fermé sans savoir si c'est ouvert ou non) j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On error resume next
    myCB.Controls("My button").Delete
    on error goto 0

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Non, rien à faire, j'ai beau encadrer tout ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        On Error Resume Next
            While (myCB.Controls("My Button").Enabled = True)
                myCB.Controls("My Button").Delete
            Wend
        On Error GoTo 0
    Ca passe indéfiniment dans la boucle même quand j'ai plus de bouton (à savoir quand myCB.Controls("My Button") = <Argument ou appel de procédure incorrect>

    PS : si tu demandes pourquoi la boucle, c'est qu'en cas de problème, on a déjà vu le bug où le bouton inséré au démarrage reste une fois de plus.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Mouais bon, par contre je ne sais pas pourquoi ça marchait pas mais ça, c'est bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Dim buttonToDelete As CommandBarButton
        Dim continue As Boolean
        continue = True
     
        On Error GoTo NoMoreButtonToDelete
        While (continue = True)
            Set buttonToDelete = myCB.Controls("My button")
            If Not buttonToDelete Is Nothing Then
                buttonToDelete.Delete
            End If
        Wend
     
    NoMoreButtonToDelete:
            continue = False

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tester existence d'un SELECT par une fonction ?
    Par ctobini dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/10/2007, 10h28
  2. Tester l'existence d'un package depuis une appli.net
    Par meuledor dans le forum Oracle
    Réponses: 3
    Dernier message: 27/09/2005, 16h18
  3. Tester l'existence d'un champ dans une table
    Par Oluha dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/09/2005, 11h19
  4. Tester existence d'une contrainte
    Par castaka dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/07/2005, 17h47
  5. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo