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 :

Concaténation sur radio


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut Concaténation sur radio
    Bonsoir à tous...

    Je m'explique mon but est de désactiver des bouton radio au moyen d'une boucle mais pour cela il faut que je concatène des indice avec le nom du bouton radio.
    C'est un groupe de contrôle radio, il s'appelle option1 et possède 4 indice allant de 0 à 3.

    Donc il y a :
    --Option1(0)
    --Option1(1)
    --Option1(2)
    --Option1(3)

    Voila ce que j'ai essayé de faire avec une variable nommé "radio" déclaré en String :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    radio = "option" & i & "(" & i & ")"
        radio.Enabled = False
    Mais cette solutio ne marche pas j'ai essayé ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    option" & i & "(" & i & ")".enabled = false
    Mais ça marche pas non plus alors si quelqu'un peut m'aider merci.

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Si ta question s'était limité à "Je m'explique mon but est de désactiver des bouton radio au moyen d'une boucle " ben il y aurait pas de problème, encore faut-il mettre une boucle effectivement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    La boucle je l'ai pas mis car c'est pas tellement ca mon problème mais je vais la mettre si ça peut aider à comprendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Do While (j <= 11)
            Do While (k <= 3)
                radio = "Option" & "j" & "(k)".enabled = false
                radio.Enabled = False
                Next k
            Loop
            Next j
        Loop

  4. #4
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    T'es sur que c'est pas les boucles ton problème justement ?

    Je te conseille fortement de commencer par là :
    Tu vas sur Google, tu tapes "boucle vb -net" et tu vas voir que le premier lien te ramènes à une page qui n'est pas loin d'ici. Je pense que ça pourrait t'interesser et tu vas découvrir que, si, les boucles, c'est un des tes problèmes pour le moment.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    en faite je veux savoir si c'est possible de concaténé un indice a un nom de controle radio c'est tout après peut etre que j'ai fait une erreur de syntaxe pour les boucles mais je m'en occuperais plus tard, vb m'a mis un message d'erreur sur ma ligne de concaténation.

  6. #6
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    dans ton premier message tu dis qu'il ya 4 controles qui s'appellent :

    --Option1(0)
    --Option1(1)
    --Option1(2)
    --Option1(3)
    Pourquoi veux tu ensuite les appeler autrement ? Tu ne peux concaténer que des chaines e caractères, pas des noms de controle !
    Si tu nous disais ce que VB donne comme erreur et sur quel ligne (ce qu'on devrait faire dans son premier message quand on a un pb de plantage) ?

  7. #7
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    concaténation
    le principe est le même regarde ce post
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Ok, je viens de comprendre, en fait il a des groupes de boutons appelés Options1, d'autres Options2 etc... , désolé, j'avais pas compris...
    Alors oui, la méthode donnée par ProgElect marche, mais j'étais à 100 milles de là moi, faut que j'aille me reposer.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Merci pour ton script ProgElecT je pense que je vais y arrivé avec, mais est ce que c'est possible que tu me détail un peu plus les fonctionnalités pour que j'arrive mieux à comprendre le fonctionnement?

  10. #10
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    On ne peut remplacer le nom d'un control par une variable, car cette variable est forcement un String, et un String ne peut pas avoir les propriété ni les evenement d'un control, par contre une variable String peut être comparée au nom d'un control car Controlx.Name est de type String.
    Moi je me suis compris , par contre ai je réussis à me faire comprendre ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Oui merci j'ai compris mais c'était plus pour l'instruction for each que je ne connaissais pas. Meric en tout cas.

  12. #12
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par MSDN
    Le bloc For...Each entre dans la boucle si l'argument group contient au moins un élément. Une fois le bloc entré dans la boucle, toutes les instructions de cette dernière sont appliquées au premier élément de group. Si group comporte plusieurs éléments, la boucle continue de s'exécuter pour chaque élément. Une fois que tous les éléments de group ont été traités, la boucle est fermée et l'exécution se poursuit par l'instruction située après l'instruction Next.
    Donc sa permet de retrouver un control et de l'utiliser, pour ton post, une fois trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CntrL.Name = Maconcaténation Then CntrL.Enabled = True : Exit For
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Pour préciser ce que dit ProgElect que je salue au passage

    l'instruction for each Objet in Collection permet de parcourir tous les éléménts d'une collection
    on peut egalement utiliser une boucle classique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For iPnt=1 to Collection.Count
      Set Objet = Collection(iPnt)
    Next

  14. #14
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    Tiens je n'avais jamais utilisé de next dans une boucle do while, ça incrémente c'est tout ? Franchement on me l'aurait dit oralement je n'aurais jamais parié sur l'acceptation par VB

  15. #15
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    lol, tu as raison, le next n'a rien a faire dans une bouble do while
    j'avais pas vu

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut simple
    pas besoin de concatener. s'il s'agit de boutons radio indexés, (option1(0)..à..option(4)), ce code suffit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To 4
        Option1(i).Value = False
    Next

    Bonne journée

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Alain ta facon marche bien mais le problème c'est que j'ai 12 groupe d'option donc je suis obligé de faire cette boucle 12 fois. Donc j'ai vais prendre l'autre solution sauf si j'y arrive pas.

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Voila j'ai ajouté mon nouveau code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    j = 1
    For Each radio In Me.Controls
        NomRadio = "Option" & j
        If radio.Name = NomRadio Then
            radio.Enabled = False
        End If
        j = j + 1
    Next
    Le programme s'éxécute bien ca passe bien dans la boucle mais cela me met pas mes contrôle radio en grisé je ne comprend pas pourquoi ?

  19. #19
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Toi tu ne veux "scanner" que tes boutons radio mais VB est pas au courant, alors lui, un peu con, il cherche tous les contrôles de ta feuille voila pourquoi ça ne marche pas.
    Une instruction plus qu'utile s'appelle Debug.print, amuse toi à mettre "debug.print radio.name" avant ton test tu verras


    Il faut donc plutot tester que c'est bien un controle RadioButton si tu veux vraiment les rendre TOUS disable
    donc ton test deviendrait plutot quelquechose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each Ctl In Controls
      If TypeOf Ctl Is OptionButton Then
        Ctl.Enabled = False
      End If
    Next

  20. #20
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    For Each radio In Me.Controls
    NomRadio = "Option" & j
    If radio.Name = NomRadio Then
    radio.Enabled = False
    End If
    j = j + 1
    Next
    ATTENTION
    si, tes controls sont indexés, NomRadio contient "leControl1", la condition If n'est donc jamais rempli.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réaliser une concaténation sur l'évènement onChange
    Par Dam1en dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/11/2007, 12h55
  2. concaténer sur toute une colonne
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/12/2006, 14h20
  3. [Forms5] Key pressed sur radio bouton
    Par Steph82 dans le forum Forms
    Réponses: 1
    Dernier message: 29/05/2006, 16h44
  4. concaténation sur une balise image
    Par hutchuck dans le forum Langage
    Réponses: 5
    Dernier message: 15/12/2005, 12h49
  5. concaténation sur deux critères
    Par stéphane_ais2 dans le forum Access
    Réponses: 7
    Dernier message: 29/11/2005, 09h37

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