Tester si un contrôle appartient à un groupe de contrôles

Contenu du snippet

Voici une petite fonction qui permet de tester si un contrôle fait parti d'un tableau de contrôles. Ca ne sert pas tous les jours, mais n'ayant pas vu d'équivalent sur le site, je me suis dit que ça pourrait être utile à qqn.

Source / Exemple :


'Fonction qui teste si un contrôle appartient à un groupe de contrôle
'On passe en paramètre le contrôle à tester et la propriété renvoie True
'si le contrôle fait parti d'un groupe de contrôle sinon False
'(mais ça se devinait ...)
Public Function EstGrpCtrls(controle As Object) As Boolean

Dim tmp As Integer

On Error GoTo Erreur:

'Appel bidon de la propriété Index du contrôle pour déclencher une
'erreur dans la cas où celui-ci ne fait pas parti d'un groupe
tmp = controle.Index

'Pas d'erreur, donc vrai
EstGrpCtrls = True

Exit Function

Erreur:

If Err.Number = 343 Then
    
    'Erreur qui dit que c'est pas bien d'utiliser l'index quand y'en a pas !
    
    'On renvoie faux
    EstGrpCtrls = False
    
Else
        
    'si erreur qui n'a rien a voir avec notre probleme
    
    Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext

End If

End Function

Conclusion :


J'avoue que déclencher une routine de gestion d'erreur pour obtenir ce résultat me gêne un peu, mais je n'ai rien trouvé de mieux. Si qqn a une meilleur idée, je suis intéressé.

Bazinou

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.