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 :

Combo Box sélection [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut Combo Box sélection
    Bonjour forum

    Une petite question sur quelque chose d'anodin - mais très "time consuming".
    J'ai un combo box (deux pelletés à tout dire) dont les sélections possibles proviennent d'un rowsource. Lorsque la sélection est changée, la nouvelle sélection demeure active (en surbrillance) jusqu'à ce que l'on clique à nouveau dans la fenêtre. Y a-t-il une raison à cela ? y a-t-il une propriété liée à ce comportement ?

    Merci à l'avance

    Bo

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Je ne comprend pas bien ton problème, c'est normal que tant que ton combo a le focus il reste en surbrillance.
    Sinon, si tu met le focus sur un autre contrôle et qu'il reste en surbrillance tu peu mettre la propriété HideSelection à true, mais normalement c'est la valeur par défaut.
    A+

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    SI j'ai bien compris dans un premier temps ta combobox permet de selectionner AAAA, BBBB, CCCC L'utilisateur choisi BBBB
    Le row source change du coup on peu choisir, ABC, DEF,GHI mais on a toujours BBBB de sélectionné et c'est ce qui t'ennuie. C'est bien ca?


    Après quelque teste la seule solution que je voi (mais il y en a peut être une autre) est d'effacer la valeur de la combobox au moment ou tu modifie le row source (ou sont contenu).
    Si la modification est faite par macro il te suffit de rajouter cette ligne dans ton code.
    Si le contenu peut être modifié autrement (manuellement) il te faudra peut être passer par l'évènement worksheet_change (voir le tuto les évènement des feuille de calcul). Tu test si le contenu de la combobox est présent dans la nouvelle zone du row source si ce n'est pas le cas tu efface la combo box

    Voila un petit code rapide qui fait ce test là a mettre après la modification du rowsource ou de son contenu

    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
     
    Dim c As Range
    Dim plage As String
    Dim flag As Boolean
     
    plage = Mid(ComboBox1.RowSource, 2) 'cela permet d'enlever le = du rowsource, si tu n'en n'as pas mis utilise la deuxième ligne
    'plage =ComboBox1.RowSource
    flag = True
    For Each c In Range(plage)
        If ComboBox1.Value = c.Value Then
            flag = False
            Exit For
        End If
    Next c
    If flag Then ComboBox1.Value = "" 'si on a pas trouvé la valeur de la combo dans la plage on efface le contenu
    Voila j'espère que ca t'aidera, si personne n'a mieux

    Edit petite modification des commentaires

  4. #4
    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
    Par défaut
    Bonjour vous tous,
    Citation Envoyé par LeForestier
    ,
    Je ne comprend pas bien ton problème, c'est normal que tant que ton combo a le focus il reste en surbrillance.
    +1
    C'est bien comme ça qu'il faut que ce soit sinon, sitôt la sélection faite celle-ci disparaîtrait. Et c'est pas ça qu'est bien

    Tu peux faire un test simple :
    Un userform avec une liste et son "RowSource" + un autre contrôle (j'ai pris un bouton dans l'exemple). Derrière le MouseUp du combo tu mets ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub ComboBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
         ValeurSélectionnée = ComboBox1
         CommandButton1.SetFocus
    End Sub
    Là, sitôt la sélection faite ValeurSélectionnée récupère la sélection, le combo perd le focus et la sélection disparaît.

    C'est ce que j'ai compris de ta demande mais je ne pense pas que ça te convienne vraiment, au bout du bout...
    Bonne journée

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Salut,
    Citation Envoyé par Krovax Voir le message
    Si le contenu peut être modifié autrement (manuellement) il te faudra peut être passer par l'évènement worksheet_change (voir le tuto les évènement des feuille de calcul).
    Manifestement t'est plus fort en math qu'en programmation
    Quest-ce qu'un événement de feuille vient faire dans un ComboBox ??

    PS: Tu devais bien t'attendre à avoir un jour le retour de manivelle..

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Visiblement c'est ma journée
    Dans l'ordre je dirais que mes aptitudes sont
    Mécanique/Physique
    Math
    'plein de chose
    Programmation
    'pratiquement tout ce qui n'est pas cité ici
    Français (enfin orthographe/grammaire)


    Pour l'explication de mon code je suis partie d'un constat
    Je définie une rowsource, je choisis une valeur dans la box, je modifie soit la plage source soit le contenue de cette plage (le worksheetchange intervient ici)
    Ma sélection reste inchangé alors qu'elle ne correspond plus au contenu du nouveau rowsource.

    Du coup je cherche à tester si la valeur sélectionné précédemment correspond a une des nouvelles valeurs disponibles, si ce n'est pas le cas j'efface le contenu de la box.

    C'est ainsi que j'avais compris la question..... mais en la relisant ce n'est pas ça du tout... Je plaide le hors sujet....

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut Combo Box Sélection
    Bonjour chacun, tous, forum,

    Quels échanges!

    Plus simple encore. La sélection est effectuée parmi les choix possibles. La valeur choisie s'affiche dans la fenêtre du combo box tandis que la liste des choix possible se referme. La valeur choisie et affichée dans le combo box demeure en surbrillance. Elle demeurera en surbrillance jusqu'à ce que l'on clique ailleurs dans l'interface. Et c'est cela que j'aimerais ne pas avoir comme comportement.

    et là, j'entends de grands "aaaaaaaaaaaaaaaah!"

    Merci
    Bo

  8. #8
    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
    Par défaut
    Citation Envoyé par Bocage
    et là, j'entends de grands "aaaaaaaaaaaaaaaah!"
    C'est le cri de la turlutte fluviale que tu nous fais... Pour ma part je me suis contenté d'un "Screugneugneux ! Fallait le dire tout de suite...
    Teste ça et dis si ça te va...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Application.SendKeys ("{End}")
    End Sub
    Et si ça ne te va pas, j'ai pas mieux

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Envoyé par Bocage
    jusqu'à ce que l'on clique à nouveau dans la fenêtre
    En relisant ton exposé, semblerait que ton combo est sur une feuille excel ?
    Si oui...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_Change()
        Cells(ComboBox1.TopLeftCell.Row, ComboBox1.TopLeftCell.Column).Select
    End Sub
    Ca va mettre le focus sur la cellule qui est "en dessous" du combo.
    C'est comme si tu cliquais sur la feuille.
    A+

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut Combo box Sélection
    Bonjour à nouveau chacun, tous, forum

    Ouskel'n'or...Ca me va parfaitement. C'est exactement ce que je souhaitais

    Les combo box prennent place sur un userform

    Merci !

    Bo,

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

Discussions similaires

  1. [Débutant] sélection matériel dans combo box
    Par garfield50 dans le forum Visual Studio
    Réponses: 3
    Dernier message: 30/04/2014, 14h42
  2. Réponses: 5
    Dernier message: 24/09/2008, 00h16
  3. [VB.NET] Choisir les valeurs des items d'un combo box?
    Par Eithelgul dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/06/2004, 10h13
  4. Réponses: 2
    Dernier message: 11/05/2004, 11h17
  5. Combo box et liste de valeurs contenues dans ma table
    Par TieumB dans le forum C++Builder
    Réponses: 14
    Dernier message: 05/04/2004, 18h47

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