Récupérer la ligne d'une valeur dans combobox

Résolu/Fermé
remy 42 - Modifié par remy 42 le 18/04/2012 à 14:28
 remy 42 - 19 avril 2012 à 15:55
Bien le bonjour,


Voici mon énoncé, j'ai un userform dans lequel j'ai 3 combobox et 2 textbox. Un tableau excel où j'ai 5 colonne dont 2 vides. Le userform a pour objet de remplir les 2 colonnes vides selon les 3 pleines. De ce fait, les 3 combobox sont en cascades me permettant d'atteindre une valeur précise et unique dans la 3ème colonne de mon tableau (les 2 premières colonnes pouvant avoir des doublons). Les 2 textbox de mon userform servent à insérer des données dans les 2 cellules juste à côté de la valeur obtenue au bout de ma 3ème combobox.


J'ai déjà réussi à coder mes 3 combobox en cascades, mon souci est donc le fait d'insérer le contenue des 2 textbox à côté de la cellule correspondant à la valeur obtenue dans la 3ème combobox.


J'aimerais, et je pense que cela suffirai, connaitre comment je peux obtenir le numéro de ligne de la valeur obtenue dans ma 3ème combobox.

Par exemple :
x = "numéro de ligne de la valeur de la 3ème combobox"  
cells(x,3)= textbox.aaaa 


J'aimerais connaitre ce qui est égale à x en gros

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
18 avril 2012 à 16:35
Bonjour,

Pour votre ComboBox3, vous avez defini une plage de cellule. Lorsque vous choisissez une ligne dans votre ComboBox3 vous pouvez recuperer l'index de ce choix par propriete ComboBox3.ListIndex. Sachant que ListIndex commence a 0 vous pouvez facilement trouver la ligne de votre tableau en fonction du choix ComboBox3

Bonne suite
1
Je vous remercie de m'avoir répondu, cependant je n'ai pas vraiment tout saisie sur comment je dois rédiger tout ça. Si vous pouviez me donner un lien expliquant tout cela ou un exemple voir le mien. S'il vous plait.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 19/04/2012 à 08:52
Bonjour,
autre manière:
tu récupère la ligne sur ta feuille par une syntaxe comme celle ci

la liste des valeurs se trouve dans la colonne C à partir de la ligne 2; cherche étant ici (exemple) la valeur de ton combo
 Lig = .Columns("C").Find(What:=cherche, after:=Range("C1"), LookIn:=xlValues).Row 
cells(lig,3)= textbox.aaaa 


Michel
0
le .columns après le =, il y aime pas trop ^^
"référence incorrect ou non qualifié"

Sinon lig est définie comme integer n'est-ce pas ?

Parce que si je ne met pas le point devant columns, il me surligne la ligne en jaune et me dit "incompatibilité de type"
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 avril 2012 à 11:30
With Sheets("feuil1")
cherche=combox3.value
Lig = .Columns("B").Find(What:=cherche, after:=.Range("B2"), LookIn:=xlValues).Row
Cells(Lig, "C")=textbox.aaa
T_lig(ordre) = Lig 'mémorise la ligne du mémo en feuil1
End With

lig peut être déclaré comme byte, integer ou long suivant la grandeur de ton tableau

mais tu peux utiliser ce qu'a fait F89 -bonjour :o) - ca marche aussi
list index te donne la position dans la colonne du combo; il ajouter a listindex le numéro ligne de départ des occurences de ta combo; c'est même d'ailleurs plus simple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci beaucoup, cela fonctionne !!!!
0