Bonjour,Bonjour le forum. bonjour a tous.
j'ai un fichier composé de plusieurs paramètres Vba. dont un de gestion de stocks.
quand je simplifie ce fichier tel qu'ici, il me présente bien le stock restant sur le LabelStock.
si je reprend et le réintègre dans le projet global, le LabelStock se bloque à "ListIndex + 4" peu importe le "ComboRef.ListIndex"
que faire si je veux intégrer cette procédure dans le projet global.
Merci d'avance
Private Sub UserForm_Initialize()
Me.ComboRef.List = Feuil1.Range("A4:A" & Feuil1.Range("A65536").End(xlUp).Row).Value
End Sub
'''''''''''''''''''''
Private Sub ComboRef_Change()
Dim lig&
Me.LabelStock = ""
If Me.ComboRef = "" Then Exit Sub
lig = Application.Match(Me.ComboRef, Feuil1.[a:a], 0)
Me.LabelStock = Feuil1.Cells(lig, "c") - Feuil1.Cells(lig, "b")
End Sub
Private Sub UserForm_Initialize()
Dim Cell As Range
Me.ComboRef.ColumnCount = 2
Me.ComboRef.ColumnWidths = "1;0"
With Sheets("feuil1")
For Each Cell In .Range("A4:A" & .Range("A65536").End(xlUp).Row)
Me.ComboRef.AddItem Cell
Me.ComboRef.List(Me.ComboRef.ListCount - 1, 1) = Cell.Row
Next
End With
End Sub
Private Sub ComboRef_Change()
Dim Ligne As Long
If Me.ComboRef.ListIndex = -1 Then
Set D = CreateObject("Scripting.Dictionary")
X = UCase(Me.ComboRef) & "*"
If X <> "*" Then
For Each C In a
If UCase(C) Like X Then D(C) = ""
Next C
Me.ComboRef.List = D.keys
Me.ComboRef.DropDown
End If
End If
With Me.ComboRef
If .ListIndex <> -1 Then
Ligne = .List(.ListIndex, 1)
' Me.LabelStock.Enabled = False ' voir explication de JM27
Me.LabelStock = Sheets("Feuil4").Range("D" & Ligne)
Else
Me.ComboRef = ""
Me.LabelStock = ""
End If
End With
End Sub
Private Sub UserForm_Initialize()
Dim Cell As Range
Me.ComboRef.ColumnCount = 2 'on définit le nombre de colonne du combobox
Me.ComboRef.ColumnWidths = "1;0" ' On définit la largeur des colonnes une seule sera visible
With Sheets("feuil1")'avec la feuille
For Each Cell In .Range("A4:A" & .Range("A65536").End(xlUp).Row) on va boucle sur l'ensemble des lignes de la plage ainsi definie
Me.ComboRef.AddItem Cell 'on ajoute la valeur de la cellule dans la première colonne Me.ComboRef.List(Me.ComboRef.ListCount - 1, 1) = Cell.Row'on va ajouter le numéro de la ligne de la cellule dans la deuxième colonne
Next
End With
End Sub
Private Sub Combobox1_Change()
if LEN( Me.Combobox1.Text ) > 3 then
'Ici ton code
End If