Ouvrir un userform a partir d'une listbox
Bonjour j'essaie avec beaucoup de difficultés de régler mon probléme . Pour l'instant j'ai deux boutons de commande un pour ajouter un vin dans ma liste de vin avec différentes infos. un second qui me permet de faire une recherche . dans la textbox recherche j'inscrit le nom du vin ( par savigny les beaune ) dans la list box s'affiche le nom du vin . lorsque je clique sur ce vin , je voudrais alimenter le tableau dessous.
J'avais fait une demande sur un forum et une personne m'avait donne une solution qui marchait bien mais avec 10 colonnes dans mon tableau liste_vin or moi j'en ai un peu plus
merci à la personne qui pourra me venir en aide
Cordialement philippe
Bonjour,
La méthode "AddItem" est limitée à 10 colonnes dans une listbox ...
Pour avoir plus de 10 colonnes > l'on peut utiliser une variable tableau ...
Private Sub TXTnom_Change()
' déclaration des variables
Dim I As Long ' parcourt les lignes du tableau
Dim C As Byte
Dim Tb1()
' Reporter module Dim nbligne As Long ' calcul le nbre de ligne
nbligne = Application.WorksheetFunction.CountA(Feuil1.Range("plageNomclient"))
With Me
.TxtAppellation = ""
.TxtCouleur = ""
.TxtQuantite = ""
.TxtRegion = ""
.TxtRangement = ""
.TxtContenance = ""
.TxtDomaine = ""
.TxtTelephone = ""
.TxtAdresse = ""
.TxtMail = ""
.TxtInternet = ""
.TextBox5 = ""
.TextBox4 = ""
.TextBox3 = ""
.TextBox2 = ""
.TextBox1 = ""
With .LSTnom
.Clear
'affectation des variables
If Me.TXTnom = "" Then Exit Sub ' on teste si la textbox a bienete saisie
' on boucle toutes les valeurs de la plage des noms
For I = 1 To nbligne
' on teste que la valeur de la cellule est identique au contenue de la textbox
If Feuil1.Cells(I + 9, 1) Like "*" & Me.TXTnom & "*" Then
' ajouter la plage dans une variable tableau
Tb1 = Feuil1.Range(Feuil1.Cells(I + 9, "A"), Feuil1.Cells(I + 9, "Q"))
' ajouter les valeurs dans la listbox
.List = Tb1()
End If
Next I
' on ajoute le nbre de la valeur dans la liste
Me.TXTnbe = .ListCount
End With
End With
End Sub
ric
merci pour la response ca a l'air de fonctionner j'ai bien toutes les infos qui sont reprises dans le tableau. par contre dans la recherche si j'entre un g (comme Gevrey ou SaviGny les beaune) dans la listebox n'apparait pas les tous les noms de vin avec un G.
Bonjour,
Désolé pour mon inattention ...
Private Sub TXTnom_Change()
' déclaration des variables
Dim I As Long ' parcourt les lignes du tableau
Dim Nb As Long ' compte le nombre d'item
Dim C As Byte, X As Integer, Y As Byte, Z As Byte
Dim Tb1
' Reporter module Dim nbligne As Long ' calcul le nbre de ligne
nbligne = Application.WorksheetFunction.CountA(Feuil1.Range("plageNomclient"))
With Me
.TxtAppellation = ""
.TxtCouleur = ""
.TxtQuantite = ""
.TxtRegion = ""
.TxtRangement = ""
.TxtContenance = ""
.TxtDomaine = ""
.TxtTelephone = ""
.TxtAdresse = ""
.TxtMail = ""
.TxtInternet = ""
.TextBox5 = ""
.TextBox4 = ""
.TextBox3 = ""
.TextBox2 = ""
.TextBox1 = ""
With .LSTnom
.Clear
'affectation des variables
If Me.TXTnom = "" Then Exit Sub ' on teste si la textbox a bienete saisie
Nb = 0
X = 1
' boucler les valeurs de la plage des noms correspondant aux critères
For I = 1 To nbligne
' on teste que la valeur de la cellule est identique au contenue de la textbox
If Feuil1.Cells(I + 9, 1) Like "*" & Me.TXTnom & "*" Then Nb = Nb + 1
Next I
ReDim Tb1(1 To Nb, 1 To 17)
' on boucle toutes les valeurs de la plage des noms
For I = 1 To nbligne
' on teste que la valeur de la cellule est identique au contenue de la textbox
If Feuil1.Cells(I + 9, 1) Like "*" & Me.TXTnom & "*" Then
' ajouter la plage de la ligne dans une variable tableau
For Y = 1 To 16
Tb1(X, Y) = Feuil1.Cells(I + 9, Y)
Next Y
X = X + 1
End If
Next I
.List = Tb1 ' < ajouter les valeurs dans la listbox
Me.TXTnbe = .ListCount ' < on ajoute le nbre de la valeur dans la liste
End With
End With
End Sub
ric
merci pour ton aide tout fonctionne comme je le souhaite
- Messages
- 2'415
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
Bonjour toutes et tous
@Ric merci en tout cas ^^^, j'avais complétement zappé listbox limite à 10 et qu'il fallait ajouter une variable
tout fonctionne sry