[Excel] Alimenter textbox via listbox

Résolu
ced3c Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   -  
ced3c Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Une fois de plus je fais appel à vous

Je souhaite réalisé une divxthèque avec excel ( je sais qu'il existe plein de bons logiciels pour cela mais je veux le réaliser moi même surtout dans le but d'apprendre à mieux me servir d'excel)

J'ai en tout 3 éléments appelés :
combobox1
listbox1
textbox1

combobox1 me permet de choisir des répertoires. Une fois choisi il envoi dans ...
listbox1 les noms de fichiers contenu dans le repertoire choisi
textbox1 doit une fois un fichier choisi dans listbox1 afficher la description de celui ci

Mon problème viens de la relation entre listbox1 et textbox1 puisque les deux sont alimentés différemment.

Textbox1 est alimenté par une feuille appellée "Base" ou l'on trouve 4 colonnes:

NomDuRepertoire | NomDuFilm | Image | Description |

NomDuRepertoire contient bien sur les mêmes noms de répertoire que combobox1
NomDuFilm contient aussi les mêmes noms de fichiers que listbox1

J'espère que je suis pour l'instant clair et pas trop long

Un exemple (repertoire action film 300)

combobox1: Action
listbox1 : 300.avi

dans la base je trouve aussi

Action | 300.avi | Image | Description

Comment puis je faire pour dire à textbox1:
Affiche moi la description du film selectionner dans la listbox1


J'ai essayer
Private Sub ListBox1_Click()
With Sheets("Base")
    If ListBox1.ListIndex < 0 Then Exit Sub
    Me.TextBox1.Value = Ws.Range("D" & ListBox1.List(ListBox1.ListIndex, 1)).Value
End With
End sub


Mais il m'indique qi'il manque un "Objet"

Le fiichier en question: https://www.cjoint.com/?0AiltAqOOA2

Pouvez vous m'aider s'il vous plait ? (inutile de dire que je suis pour l'instant au tout début de l'apprentissage de VBA soit quasiment le niveau zéro)
Merci d'avance


A voir également:

6 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Me.TextBox1.Value = Ws.Range("D" & ListBox1.List(ListBox1.ListIndex, 1)).Value

Ws n'est pas defini.

Bonne suite
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Essaies :
Me.TextBox1.Value = .Range("D" & ListBox1.List(ListBox1.ListIndex, 1)).Value
0
ced3c Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci pour ta reponse Patrice33740

J'ai remplacé le code par le tien mais j'obtiens :
erreur définie par l'application ou par l'objet
0
ced3c Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   5
 
petit up
0

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

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour,

ListBox1.List(ListBox1.ListIndex, 1) te donne la valeur (300.avi) et non la ligne
(au passage pourquoi le 1 ?)

si tu veux la ligne 2 moyens:

1/ Listbox1.listindex te donne l'index de l'occurence sélectionnée. Attention l'index commence à 0 (pas sûr de moi) et les lignes de données sur commence sur ta feuille à ?

2/ en gardant la valeur
film=ListBox1.List(ListBox1.ListIndex, 1)
With Ws
lig=.columns("D").find(film,.range("D1"), xlvalues).row
Texbox1=.cells(lig,"F")
end with

a noter qu'un textbox est destinée à la saisie et non à l'affichage. pour cela, il y les labels (qui ne mobilisent pas autant de mémoire) que tu peux mettre en forme style textbox; autre avantage: modification impossible de la donnée par l'utilisateur

Je t'avais indiqué un site particulièrement complet; vu ta demande, je me demande si tu l'as étudié ?
0
ced3c Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   5
 
merci pour votre réponse michel_m et désolé pour ma réponse tardive j'ai du m'absenter.

Je vais étudier cela de suite merci beaucoup.

Pour l adresse du site, encore merci je suis en train de l'étudier, j'ai juste été une peu trop hâtif dans ma démarche.
Je vais essayer d'apprendre un peu plus pour me débrouiller par moi même.
0