Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recuperation d'info sur une bdd en vba

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 !

BASSDINGUE

XLDnaute Occasionnel
bonjour le forum

dans un usf, j'ai une combobox avec avec les codes naf (voir ci dessous)
et je veux recuperer le libellé correspondant dans une textbox
comment dois je faire
j'ai essayé avec

Dim codenaf As Integer
codenaf = Val(cbx3.Value)

tb13a = Sheets("table_naf").Range("b" & codenaf)
mais je n'est que "libellé" qui apparait dans la textbox

Code............Libellé
01.11Z.........Culture de céréales (à l'exception du riz)
01.12Z.........Culture du riz
01.13Z.........Culture de légumes, de melons, de racines et de tubercules
01.14Z.........Culture de la canne à sucre
01.15Z.........Culture du tabac
01.16Z.........Culture de plantes à fibres
01.19Z..........Autres cultures non permanentes
01.21Z.........Culture de la vigne


merci a vous qui est des bon
 
Re : recuperation d'info sur une bdd en vba

Bonsoir Bassdingue

essaye le code ci dessous, nom des objets à adapter :

Code:
Private Sub ComboBox1_Click()
With ComboBox1
If .ListIndex <> -1 Then TextBox1.Value = Range("B" & .ListIndex + 2).Value
End With
End Sub

bonne soirée
@+
 
Re : recuperation d'info sur une bdd en vba

ton code marche pour une combo avec des valeurs fixes mais pas avec l'exemple que j'envoi
les données qui sont affichées dans la textbox "objectif " ne correspondent pas a la ligne correspondante
tu me suis là , je suis assez clair ?
tu vas comprendre avec l'exemple

par contre j'ai pu adapter ton code pour une autre combo et ca marche merci
 
Re : recuperation d'info sur une bdd en vba

Re

ton fichier en retour, j'ai utilisé une colonne masquée dans le combo, le code modifié et commenté dans les événements "initialize" de l'usf, "change" et "click" des combo.

bonne soirée
@+
 

Pièces jointes

Re : recuperation d'info sur une bdd en vba

Merci Pierrot,
je regarde ca et je te dis ce qu'il en est.

en revanche j'ai 2 questions:

1 A quoi correspond le -1 dans

If .ListIndex <> -1 Then TextBox1.Value = Range("B" & .ListIndex + 2).Value

2 Pourquoi le renvoi d'info sur la textbox "objectif" est il aleatoire

merci
 
Re : recuperation d'info sur une bdd en vba

Sinon, ca marche impec
Merci et remerci pierrot

Mais je ne comprend pas pourquoi il faut passer par la colonne cachée et que si on veut aller chercher l'info sur la feuille "table_ module" ca renvoi des infos aleatoire et fausse!

encore merci pierrot
 
Re : recuperation d'info sur une bdd en vba

Bonjour Bassdingue

je suis passé par une colonne masquée, car ta 2ème combobox est alimentée en fonction de la 1ère, de ce fait il n'y a plus aucun rapport entre le numéro d'index de la combo2 et le numéro de la ligne de la cellule à renvoyer dans le textbox. Une autre solution aurait été d'effectuer une recherche par la méthode "find" sur la valeur de la 2ème combo, mais bon... je pense que la méthode de la colonne est un bon compromi, même du point de vue performance, enfin c'est juste mon avis.

Quand à l'utilisation du test "if .ListIndex <> -1", permet de s'assurer qu'une valeur a bien été sélectionnée et donc éviter un message d'erreur. Le -1.

cf aide vba :
Lorsqu'aucune ligne n'est sélectionnée, la propriété ListIndex renvoie la valeur –1.

bonne journée
@+
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…