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

VB 6 et antérieur Discussion :

Compter nombre de textbox


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 46
    Par défaut Compter nombre de textbox
    Bonjour à tous.
    Je travaille sur le développement d'un outil interne en VB.
    Je créer des elements (textbox,checbox etc....) de facon dynamiques.
    Cependant, j'aimerai développer une fonction qui me retourne le nombre d'élements de types Checkbox dans mon Interface.
    Est-ce que quelqu'un sait comment s'y prendre?

    Cordialement.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Analyste développeur VB6, SQL, VB.NET, C#
    Inscrit en
    Avril 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste développeur VB6, SQL, VB.NET, C#
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2003
    Messages : 111
    Par défaut
    bonjour,

    ceci devrait t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Option Explicit
     
    Private Sub Command1_Click()
        MsgBox CStr(lngftn_ControlCount(Me, "TextBox"))
    End Sub
     
    Public Function lngftn_ControlCount(objForm_E As Form, strCtrlType_E As String) As Long
    On Error GoTo lngftn_ControlCount_Error
     
        Dim objCtrl As Object       'contrôle en cours de traitement
        Dim lngCtrlIndex As Long    'index du contrôle
     
        lngftn_ControlCount = 0
     
        '--- pour tous les contrôles du formulaire ---
        For lngCtrlIndex = 0 To (objForm_E.Controls.Count - 1)
     
            'instanciation de l'objet contrôle
            Set objCtrl = objForm_E.Controls(lngCtrlIndex)
     
            'récupération du type (TextBox, Label, CommandButton, etc.) et comparaison au type passé en paramètre
            If TypeName(objCtrl) = strCtrlType_E Then
     
                lngftn_ControlCount = lngftn_ControlCount + 1
            End If
     
        Next lngCtrlIndex
     
    'gestion des erreurs
    lngftn_ControlCount_Error:
        If Err Then
            MsgBox CStr(Err.Number) & vbCrLf & Err.Description
            lngftn_ControlCount = -1
        End If
    End Function
    >> remplace "TextBox" par le type de contrôle recherché

    cdlt,

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 46
    Par défaut
    Citation Envoyé par littledoudou Voir le message
    bonjour,

    ceci devrait t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Option Explicit
     
    Private Sub Command1_Click()
        MsgBox CStr(lngftn_ControlCount(Me, "TextBox"))
    End Sub
     
    Public Function lngftn_ControlCount(objForm_E As Form, strCtrlType_E As String) As Long
    On Error GoTo lngftn_ControlCount_Error
     
        Dim objCtrl As Object       'contrôle en cours de traitement
        Dim lngCtrlIndex As Long    'index du contrôle
     
        lngftn_ControlCount = 0
     
        '--- pour tous les contrôles du formulaire ---
        For lngCtrlIndex = 0 To (objForm_E.Controls.Count - 1)
     
            'instanciation de l'objet contrôle
            Set objCtrl = objForm_E.Controls(lngCtrlIndex)
     
            'récupération du type (TextBox, Label, CommandButton, etc.) et comparaison au type passé en paramètre
            If TypeName(objCtrl) = strCtrlType_E Then
     
                lngftn_ControlCount = lngftn_ControlCount + 1
            End If
     
        Next lngCtrlIndex
     
    'gestion des erreurs
    lngftn_ControlCount_Error:
        If Err Then
            MsgBox CStr(Err.Number) & vbCrLf & Err.Description
            lngftn_ControlCount = -1
        End If
    End Function
    >> remplace "TextBox" par le type de contrôle recherché

    cdlt,
    Félicitation pour la rapidité Littledoudou!
    Je teste et je te tiens au courant!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 46
    Par défaut
    ta fonction marche a merveille LittleDoudou.
    Cependant, j'ai oublié de préciser (c'est ma faute désolé) que je souhaité compter le nombre de checkbox qui sont contenus dans une Frame...

    Ton code est-il modifiable pour une compatibilité?

    Autant pour moi....
    Il suffit de faire Form.Frame.Controls.Count.

    Merci beaucoup !!!!!

  5. #5
    Membre éprouvé
    Homme Profil pro
    Analyste développeur VB6, SQL, VB.NET, C#
    Inscrit en
    Avril 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste développeur VB6, SQL, VB.NET, C#
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2003
    Messages : 111
    Par défaut
    il y a un sujet là dessus:
    [VB6] Comment lister les controles d'un frame ?

    j'ai fait un essai mais cela ne répond pas vraiment à ton besoin car il semble que la propriété Container d'un controle renvoit toute la liste des contrôles du formulaire...

    EDIT: un contrôle Frame n'a pas de propriété Controls

    cdlt,

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 46
    Par défaut
    Désolé, le Post n'est pas Résolu en réalité!
    Voila, la fonction que m'a passé LittleDoudou me permet de compter le nombre d'élément Checkbox existant pour créer d'autre a la suite ( et je les créée parfaitement!)
    Le problème est qu'en repassant la fonction de LittleDoudou, le nombre retourné est toujours le meme: il ne m'a pas compté l'objet rajouté!
    Pur créer une checkBox, je fais ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim CheckBox As CheckBox            'Element de checkbox thematique
    Set CheckBox = Fenetre1.thematiques.Controls.Add("Forms.CheckBox.1", CheckBoxName, True) 'Creation de la checkbox
    Quelqu'un a une Idée???

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/02/2012, 21h12
  2. Compter nombre lignes générées par GROUP BY
    Par Trunks dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2006, 16h52
  3. Compter nombre d'éléments avec valeur X dans un formulaire
    Par p0Kep0K dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/11/2005, 15h49
  4. [C#] Compter le nombre de TEXTBOX sur une page ASPX
    Par alain_27 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 27/05/2005, 14h19
  5. Compter nombre de mots dans une chaîne.
    Par xVINCEx dans le forum C++
    Réponses: 22
    Dernier message: 24/11/2004, 13h33

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