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 :

[VBA-E]Voir une selection d'un combobox


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut [VBA-E]Voir une selection d'un combobox
    Hello,

    Voilà je cherche à rendre des objet d'un userform visibles lorsque q'une valeur est selectionnée dans un combobox.

    Pour le moment j'ai créé un bouton sur lequel je clique apres avoir choisi un element de la combobox et qui permet de rendre visible les objet (dont certains prennent des valeurs qui dépéndent du nom choisi dans la combobox).

    Y a t'il un moyen de ne avoir à faire ca, de rendre ces objets visibles des qu'une valeur a été choisie dans la combobox?

    Merci

  2. #2
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    A priori, il faut tester la propriété Text de ta combobox lors de l'évènement Click.

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Moi qui suis paresseuse de nature, j'aurais tendance à mette mes contrôles à afficher (ou masquer, selon) dans des conteneurs, un groupe de conteneurs en fait. Je programme en VB6. J'ignore si c'est différent en .Net. Je continue...

    Donc mes conteneurs ont tous le même nom (propriété name) et on une propriété Index de 0 à la valeur du compte des conteneurs moins un.

    En passant, au cas où tu de demanderais, une conteneur c'est :
    • une Form,
    • un PictureBox,
    • un Frame,
    • y'en a peut-être d'autres mais je sais pas.

    C'est pratique les Index, ils ont les même numéro que les ListIndex d'un ListBox. Tu vois ce que je veux dire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub maListe_Clic()
        Static dernierIndice As Integer
        monConteneur(dernierIndice).Visible = False
        monConteneur(maListe.ListIndex).Visible = True
        dernierIndice = maListe.ListIndex
    End Sub
    La variable 'Static' sert à conserver le dernier indice et à masquer le contrôle ou l'ensemble de contrôles correspondant.

    J'ai orreur des tests et quand je peux m'en passer...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Coucou,

    Merci de vos réponses.
    Alors zaza, je vois pas trop comment faire pour ton idée de conteneurs, pour info je suis en vba excel là.

    Si je comprend bien tous mes objets (liste, bouton etc..) auront un nom suivi d'un indice. Mais bon comme je doit apres affecter des valeur à chacun je prefere mettre un nom qui correspond bien à ce que fait l'objet.

    En fait c'est à peu pres comme tu disais catbull, je pensais pas que c'etait si simple. En double cliquant sur le combobox j'ai eu dans le code une sub qui s'est créée : NomCombo_Change

    J'ai juste eu à mettre une condition (si valeur différente de "") et ca fonctionne bien

    merci

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu n'es pas obligé de faire "un test". Tu peux écrire plus simplement :

    LeCombo.visible = LaValeur = ""

    ou

    LeCombo.visible = not LaValeur = ""

    selon le résultat que tu veux obtenir

    Juste pour contrarier zaza

    A+

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

Discussions similaires

  1. [VBA-E]Arreter une selection
    Par dev81 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/06/2007, 17h10
  2. [VBA] Copy d'une selection dans Word
    Par marsupoilu dans le forum VBA Word
    Réponses: 1
    Dernier message: 04/07/2006, 09h27
  3. [VBA-E]deselectionner une selection
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/04/2006, 08h58
  4. [VBA-E]deplacer une selection de cellules
    Par richou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2006, 12h50
  5. [VBA]Execution d'une procédure avec un ComboBox sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/01/2006, 09h27

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