Kassn
XLDnaute Nouveau
Bonjour a tous,
J'ai un petit soucis pour ce qui est de "rechercher" une informations dans un tableau excel:
Voici un tableau pour faire un exemple :
J'ai actuellement un Userform accompagné d'une ComboBox afin de me sortir une liste de pièce dans une ListBox, jusque la tout va bien.
Ensuite en double-cliquant sur une ligne dans la listBox il m'affiche les informations de la pièces. Comme ci-dessous :
Cependant j'aimerais qu'il m'affiche également dans la TextBox11(Nombre de pièces en stock) le nombre de pièces restantes, dans le cas suivant "9".
Puis-ce qu'on y est, j'aimerais également a l'aide des boutons "Ajouter" et "Retirer" ( +1 et -1 ) afin de pouvoir gérer le stock convenablement et que cela change automatiquement la feuill excel en cliquant sur le bouton valider.
Je suis désoler si j'en demande beaucoup :/
Voici mon code actuel :
J'ai un petit soucis pour ce qui est de "rechercher" une informations dans un tableau excel:
N°moule | Projet | Type | Code d'origine | Référence achat | nombre en stock |
M531933 | D34 | Résistance | 59641 | TXH65456 | 8 |
M44386 | A9 | Résistance | 0087-00182A | 0087-00182A | 9 |
Voici un tableau pour faire un exemple :
J'ai actuellement un Userform accompagné d'une ComboBox afin de me sortir une liste de pièce dans une ListBox, jusque la tout va bien.
Ensuite en double-cliquant sur une ligne dans la listBox il m'affiche les informations de la pièces. Comme ci-dessous :
Cependant j'aimerais qu'il m'affiche également dans la TextBox11(Nombre de pièces en stock) le nombre de pièces restantes, dans le cas suivant "9".
Puis-ce qu'on y est, j'aimerais également a l'aide des boutons "Ajouter" et "Retirer" ( +1 et -1 ) afin de pouvoir gérer le stock convenablement et que cela change automatiquement la feuill excel en cliquant sur le bouton valider.
Je suis désoler si j'en demande beaucoup :/
Voici mon code actuel :
VB:
Private Sub Brechercher_Click()
ListBox1.Clear
Dim c As Range
ListBox1.ColumnCount = 4
If ComboBox1.ListIndex < 0 Then Exit Sub
For Each c In Feuil1.Range("A2:A" & Feuil1.Range("A65536").End(xlUp).Row)
If c.Value = ComboBox1.Value Then
ListBox1.AddItem c.Offset(0, 1)
ListBox1.List(vcount, 1) = c.Offset(0, 2)
ListBox1.List(vcount, 2) = c.Offset(0, 3)
ListBox1.List(vcount, 3) = c.Offset(0, 4)
vcount = vcount + 1
End If
Next c
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
With ListBox1
If .ListIndex > -1 And ComboBox1.ListIndex > -1 Then
stock.nmoule = ComboBox1.Value
stock.projet.Text = .Column(0, ListIndex)
stock.mtype.Text = .Column(1, .ListIndex)
stock.code = .Column(2, .ListIndex)
stock.ref = .Column(3, .ListIndex)
stock.Show
End If
End With
End Sub
Private Sub UserForm_Initialize()
Dim zone As Range
Dim Cel As Range
Dim x As Long
Dim Diko As New Collection
Dim Flag As Boolean
Dim Bcle As Integer
Dim temp As String
Dim indice
indice = i
Set zone = Feuil1.Range("A2:A" & Feuil1.Range("A500").End(xlUp).Row) 'définit la variable zone
'
' Création d'une liste sans doublons
'
On Error Resume Next
For Each Cel In zone
Diko.Add Cel, CStr(Cel)
Next Cel
On Error GoTo 0
'
' Alimentattion du combobox
'
For Bcle = 1 To Diko.Count
ComboBox1.AddItem Diko(Bcle)
Next Bcle
'
' Tri du combobox
'
With ComboBox1
Do
Flag = False
For Bcle = 0 To .ListCount - 2
If .List(Bcle) > .List(Bcle + 1) Then
temp = .List(Bcle)
.List(Bcle) = .List(Bcle + 1)
.List(Bcle + 1) = temp
Flag = True
End If
Next Bcle
Loop Until Flag = False
End With
End Sub