Bonjour à tous
J'ai un ListView qui me permet de transcrire dans une cellule la valeur sélectionnée
Pour une autre utilisation de cet ListView, je souhaiterais récupérer cette valeur dans un TextBox au lieu de la transcrire dans une cellule
J'ai essayé de remplacer
ActiveCell = li par TextBox1.value = li
Et pas mal d'autres choses ....
Mais rien à faire
Je viens donc chercher de l'aide
Merci d'avance
J'ai un ListView qui me permet de transcrire dans une cellule la valeur sélectionnée
Pour une autre utilisation de cet ListView, je souhaiterais récupérer cette valeur dans un TextBox au lieu de la transcrire dans une cellule
J'ai essayé de remplacer
ActiveCell = li par TextBox1.value = li
Et pas mal d'autres choses ....
Mais rien à faire
Je viens donc chercher de l'aide
Merci d'avance
Code:
Private Sub UserForm_Initialize()
Dim C As Range
With Lv
With .ColumnHeaders
.Clear
.Add , , "Boite", 120
.Add , , "Type", 130
.Add , , "", 50, lvwColumnRight
End With
End With
For Each C In Feuil5.Range("A1", Feuil5.[A65000].End(xlUp)(1))
Lv.ListItems.Add , , C
Lv.ListItems(Lv.ListItems.Count).ForeColor = C.Interior.Color
Lv.ListItems(Lv.ListItems.Count).ListSubItems.Add , , C(1, 2)
Lv.ListItems(Lv.ListItems.Count).ListSubItems(1).ForeColor = C.Interior.Color
Lv.ListItems(Lv.ListItems.Count).ListSubItems.Add , , Replace(Format(C(1, 3), "0.00"), ",", ".")
Lv.ListItems(Lv.ListItems.Count).ListSubItems(2).ForeColor = C.Interior.Color
Next
End Sub
' ------ Tri lors de la sélection d'une colonne ----------
Private Sub Lv_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Lv.Sorted = False
Lv.SortKey = ColumnHeader.Index - 1
If Lv.SortOrder = lvwAscending Then
Lv.SortOrder = lvwDescending
Else
Lv.SortOrder = lvwAscending
End If
Lv.Sorted = True
End Sub
Private Sub Lv_ItemClick(ByVal li As MSComctlLib.ListItem)
Dim t$, Col As Byte
t = Left(li, 1)
'Col = IIf(T = "B" Or T = "P" Or T = "V" Or T = "N" Or T = "H", 5, 3)
Col = 4 '2 au lieu de 5 ou 3
ActiveCell.Resize(1, 1).Interior.ColorIndex = xlNone '.Resize(1, 1) au leiude .Resize(1, 5)
If li = "" Then Unload Me: Exit Sub
If Not Left(li, 1) = "C" Then ActiveCell.Resize(1, 1).Interior.Color = Lv.ListItems(li.Index).ForeColor
'.Resize(1, 1) au lieu de .Resize(1, 2)
' Pas de mise en couleur si le code commence par la lettre C.
ActiveCell = li 'Recopie du code
'ActiveCell(1, 2) = Lv.ListItems(li.Index).ListSubItems(1) 'Recopie du libellé
ActiveCell.Interior.Color = Lv.ListItems(li.Index).ForeColor '???
If Left(li, 1) = "Z" Then
ActiveCell(1, 1).Select
Libellé.Show
Unload Me
Exit Sub
End If
If li = "Divers" Then
ActiveCell(1, 1).Select
ListView_Codes_Bte2.Show
Unload Me
Exit Sub
End If
If li = "Spécial" Then
ActiveCell(1, 1).Select
ListView_Codes_Bte3.Show
Unload Me
Exit Sub
End If
If li = "Saisie" Then
ActiveCell(1, 1).Select
Libellé.Show
Unload Me
Exit Sub
End If
If li = "Marg." Then
ActiveCell(1, 1).Select
Libellé_Margarine.Show
Unload Me
Exit Sub
End If
'ActiveCell(1, Col) = Lv.ListItems(li.Index).ListSubItems(2)
'ActiveCell(1, 3) = Lv.ListItems(li.Index).ListSubItems(2) 'Ancien code
If Not Lv.ListItems(li.Index).ListSubItems(2) = "" Then
ActiveCell(1, Col).NumberFormat = "0.00"
ActiveCell(1, Col) = (Lv.ListItems(li.Index).ListSubItems(2))
End If
ActiveCell(1, Col).Select
Unload Me
End Sub
Private Sub UserForm_Activate()
Me.Top = 46
Me.Left = 514
End Sub