Recuperation de la valeur d'une combobox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nougitch

XLDnaute Occasionnel
Bonjour,

Je charge les données d'une table de ma BDD dans une liste déroulante (il s'agit de texte).
Ceci dit, dans ma table, chaque donnée a un identifiant unique.
Est-il possible d'afficher le texte mais de récupérer l'identifiant en VBA ?

Merci par avance pour votre aide.
Cdt,
 
Re : Recuperation de la valeur d'une combobox

Salut Skoobi et merci pour ton aide.

En fait, je ne veux qu'une colonne dans ma liste.
En revanche, sous VBA, quand je récupère la valeur contenu dans NomFormulaire.NomListeDeroulante.Value je souhaite récupérer le numéro d'identification du pays dans la table.

Prenons l'exemple d'une table contenant les pays, du genre :
ID | PAYS
1 | France
2 | Espagne
3 | Royaume-Uni
4 | Allemagne
5 | Italie

Au pliaisir de t'éclairer davantages.
 
Re : Recuperation de la valeur d'une combobox

Ok, merci Skoobi.

Maintenant autre question : ma requête SQL extrait l'identifiant puis le nom.
Comment affecter l'identifiant à la premiere colonne et le nom à la seconde ?

Et ensuite, comment ne récupérer que la valeur de la colonne 1.

Merci encore !
 
Re : Recuperation de la valeur d'une combobox

Mon code ressemble a ca :

Code:
    Set oConnection = New ADODB.Connection
    oConnection.Open DatabasePath

    Set oADO = New Recordset
    With oADO
        .CursorLocation = adUseClient
        .ActiveConnection = oConnection
        .CursorType = adOpenStatic
        .LockType = adLockOptimistic
            sQuery = ""
            sQuery = sQuery & "SELECT               "
            sQuery = sQuery & "         C.fId,      "
            sQuery = sQuery & "         C.fName     "
            sQuery = sQuery & "FROM                 "
            sQuery = sQuery & "         tCountry C  "
            sQuery = sQuery & "ORDER BY             "
            sQuery = sQuery & "         C.fName ASC "
        .Source = sQuery
        .Open
    End With

    Do While Not oADO.EOF
        fSSF.cbxCountry.AddItem oADO(1)
        oADO.MoveNext
    Loop

    fSSF.cbxCountry.ListIndex = 0

    Set oADO = Nothing
    oConnection.Close

Merci pour votre aide.
 
Re : Recuperation de la valeur d'une combobox

Bjr Skoobi,

J'ai regarde les différentes propriete de la liste deroulante. J'ai jouer un peu avec le ColumnCount que j'ai mis à 2, puis le ColumnWidths que j'ai mis à 0;100...

Ce que je n'arrive pas à faire c'est mettre l'identifiant du pays dans la premiere colonne (Width = 0 donc cachée) et le nom du pays dans le seconde colonne (qui elle apparait pour l'utilisateur).

Et ensuite, comment recuperer la colonne une en fonction du choix d el'utilisateur.

Merci beaucoup pour ton aide !
 
Re : Recuperation de la valeur d'une combobox

Voila le fichier.

L'idée est assez parlante dans l'exemple.
Il s'agit de ne gérer que des Id car comme tu le verras, il s'agit ensuite d'activer une seconde liste deroulante avec les données filtrées (clause WHERE = résultat de la première liste déroulante). Et pareil pour la troisième liste.

Je te remercie vraiment pour ton aide.
 

Pièces jointes

Re : Recuperation de la valeur d'une combobox

Bonsoir,

il doit manquer quelque chose car la boucle Do ... Loop ne s'arrête pas.

Je tiens à signaler que le domaine "ADO" je ne connais pas mais pour ce que tu veux faire, ça doit pas être gênant.
Que fait ce code?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
40
Affichages
2 K
Retour