Bonjour le Forum
Voilà mon soucis,
J'ai un code vb qui agit sur simple click sur ligne ListView1
(dans mon cas, il m'ouvre un fichier) et là pas de problèmes
''LV1 ----Action 1: OUVERTURE MANIFESTE PAR SIMPLE CLICK
Sub Listview1_Click()
With ListView1
Dim Chemin4 As String
Dim NomFichierDepart As String
Chemin4 = .ListItems(.SelectedItem.Index).ListSubItems(6)
NomFichierDepart = UserForm1.ListView1.SelectedItem.Text
Workbooks.Open (Chemin4 & "\" & ListView1.SelectedItem.Text)
Je souhaiterai que avant l'ouverture du fichier, il ajoute les données qui se trouvent dans deux ComboBox = Action 2
Je viens de placer un code pour récupérer le contenu de la ligne clickée: (la aussi cela fonctionne correctement)
Dim i As Long
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Selected = True Then
TxbManifeste = ListView1.ListItems(i).Text
TxbOrdre = ListView1.ListItems(i).ListSubItems(1).Text
TxbType = ListView1.ListItems(i).ListSubItems(2).Text
TxbNmanif = ListView1.ListItems(i).ListSubItems(3).Text
TxbDateRecep = ListView1.ListItems(i).ListSubItems(4).Text
TxbHrRecep = ListView1.ListItems(i).ListSubItems(5).Text
TxbRepSauve = ListView1.ListItems(i).ListSubItems(6).Text
TxbOriVol = ListView1.ListItems(i).ListSubItems(7).Text
TxbOriSector = ListView1.ListItems(i).ListSubItems(8).Text
TxbTypProd = ListView1.ListItems(i).ListSubItems(9).Text
TxbNbAWB = ListView1.ListItems(i).ListSubItems(10).Text
TxbNbColis = ListView1.ListItems(i).ListSubItems(11).Text
Txbpoids = ListView1.ListItems(i).ListSubItems(12).Text
TxbVolume = ListView1.ListItems(i).ListSubItems(13).Text
TxbValeur = ListView1.ListItems(i).ListSubItems(14).Text
TxbN°Manif = ListView1.ListItems(i).ListSubItems(15).Text
TxbOrd = ListView1.ListItems(i).ListSubItems(16).Text
End If
Next
Je veux y ajouter le contenu de deux combobox déjà alimentées
'Ici APPEL pour alimenter les combobox dans USerform1
Dim y As Long, Collec
Set Collec = CreateObject("Scripting.Dictionary")
With Sheets("Parametres")
For y = 2 To .Cells(65536, 1).End(xlUp).Row
If Not Collec.Exists(.Cells(y, 1).Value) Then Collec.Add .Cells _(y,1).Value, .Cells(y, 1).Value
Next
CbxAnalyste.List = Application.Transpose(Collec.Items)
CbxMotif.List = .Range("B2:B" & .Range("B65536").End(xlUp).Row).Value
End With
Pour compléter ma ligne de la listbox sélectionnée et la récupérer dans des textBox par le conteu des deux Combobox, j'ai utilisé le code proposé par JP 14 (dans " modifier contenu listview" )
Private Sub CdbAjout_Click()
Dim index1
'''Private Sub Btn_modifier_Click()
If index1 > 0 Then
With ListView1.ListItems(ListView1.SelectedItem.Index)
.ListSubItems(1).Text = TxbManifeste.Value
.ListSubItems(2).Text = TxbOrdre.Value
.ListSubItems(3).Text = TxbType.Value
.ListSubItems(4).Text = TxbNmanif.Value
.ListSubItems(5).Text = TxbDateRecep.Value
.ListSubItems(6).Text = TxbHrRecep.Value
.ListSubItems(7).Text = TxbRepSauve.Value
.ListSubItems(8).Text = TxbOriVol.Value
.ListSubItems(9).Text = TxbOriSector.Value
.ListSubItems(10).Text = TxbTypProd.Value
.ListSubItems(11).Text = TxbNbAWB.Value
.ListSubItems(12).Text = TxbNbColis.Value
.ListSubItems(13).Text = Txbpoids.Value
.ListSubItems(14).Text = TxbVolume.Value
.ListSubItems(15).Text = TxbValeur.Value
.ListSubItems(16).Text = TxbN°Manif.Value
.ListSubItems(17).Text = TxbOrd.Value
.ListSubItems(18).Text = CbxAnalyste.Value '
.ListSubItems(19).Text = CbxMotif.Value
End With
End If
End Sub
Ce dernier Code Ajout, ne me permet pas :
a) de compléter la ligne avec le contenu des deux combobox
b) de plus, le fichier s'ouvre directement sans avoir réalisé a)
Merci de me dire comment faire ?
CAPRI_456
En annexe, le fichier en question "Forumlast.xls" dont les codes se trouvent en fin de l'USF "UserForm1"
NB: probablement que vous ne pourrez pas ouvrir le fichier car pas disponible et que les chemins de répertoires ciblés ne le sont pas non plus
Mais ainsi , vous pourrez mieux visualiser
Voilà mon soucis,
J'ai un code vb qui agit sur simple click sur ligne ListView1
(dans mon cas, il m'ouvre un fichier) et là pas de problèmes
''LV1 ----Action 1: OUVERTURE MANIFESTE PAR SIMPLE CLICK
Sub Listview1_Click()
With ListView1
Dim Chemin4 As String
Dim NomFichierDepart As String
Chemin4 = .ListItems(.SelectedItem.Index).ListSubItems(6)
NomFichierDepart = UserForm1.ListView1.SelectedItem.Text
Workbooks.Open (Chemin4 & "\" & ListView1.SelectedItem.Text)
Je souhaiterai que avant l'ouverture du fichier, il ajoute les données qui se trouvent dans deux ComboBox = Action 2
Je viens de placer un code pour récupérer le contenu de la ligne clickée: (la aussi cela fonctionne correctement)
Dim i As Long
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Selected = True Then
TxbManifeste = ListView1.ListItems(i).Text
TxbOrdre = ListView1.ListItems(i).ListSubItems(1).Text
TxbType = ListView1.ListItems(i).ListSubItems(2).Text
TxbNmanif = ListView1.ListItems(i).ListSubItems(3).Text
TxbDateRecep = ListView1.ListItems(i).ListSubItems(4).Text
TxbHrRecep = ListView1.ListItems(i).ListSubItems(5).Text
TxbRepSauve = ListView1.ListItems(i).ListSubItems(6).Text
TxbOriVol = ListView1.ListItems(i).ListSubItems(7).Text
TxbOriSector = ListView1.ListItems(i).ListSubItems(8).Text
TxbTypProd = ListView1.ListItems(i).ListSubItems(9).Text
TxbNbAWB = ListView1.ListItems(i).ListSubItems(10).Text
TxbNbColis = ListView1.ListItems(i).ListSubItems(11).Text
Txbpoids = ListView1.ListItems(i).ListSubItems(12).Text
TxbVolume = ListView1.ListItems(i).ListSubItems(13).Text
TxbValeur = ListView1.ListItems(i).ListSubItems(14).Text
TxbN°Manif = ListView1.ListItems(i).ListSubItems(15).Text
TxbOrd = ListView1.ListItems(i).ListSubItems(16).Text
End If
Next
Je veux y ajouter le contenu de deux combobox déjà alimentées
'Ici APPEL pour alimenter les combobox dans USerform1
Dim y As Long, Collec
Set Collec = CreateObject("Scripting.Dictionary")
With Sheets("Parametres")
For y = 2 To .Cells(65536, 1).End(xlUp).Row
If Not Collec.Exists(.Cells(y, 1).Value) Then Collec.Add .Cells _(y,1).Value, .Cells(y, 1).Value
Next
CbxAnalyste.List = Application.Transpose(Collec.Items)
CbxMotif.List = .Range("B2:B" & .Range("B65536").End(xlUp).Row).Value
End With
Pour compléter ma ligne de la listbox sélectionnée et la récupérer dans des textBox par le conteu des deux Combobox, j'ai utilisé le code proposé par JP 14 (dans " modifier contenu listview" )
Private Sub CdbAjout_Click()
Dim index1
'''Private Sub Btn_modifier_Click()
If index1 > 0 Then
With ListView1.ListItems(ListView1.SelectedItem.Index)
.ListSubItems(1).Text = TxbManifeste.Value
.ListSubItems(2).Text = TxbOrdre.Value
.ListSubItems(3).Text = TxbType.Value
.ListSubItems(4).Text = TxbNmanif.Value
.ListSubItems(5).Text = TxbDateRecep.Value
.ListSubItems(6).Text = TxbHrRecep.Value
.ListSubItems(7).Text = TxbRepSauve.Value
.ListSubItems(8).Text = TxbOriVol.Value
.ListSubItems(9).Text = TxbOriSector.Value
.ListSubItems(10).Text = TxbTypProd.Value
.ListSubItems(11).Text = TxbNbAWB.Value
.ListSubItems(12).Text = TxbNbColis.Value
.ListSubItems(13).Text = Txbpoids.Value
.ListSubItems(14).Text = TxbVolume.Value
.ListSubItems(15).Text = TxbValeur.Value
.ListSubItems(16).Text = TxbN°Manif.Value
.ListSubItems(17).Text = TxbOrd.Value
.ListSubItems(18).Text = CbxAnalyste.Value '
.ListSubItems(19).Text = CbxMotif.Value
End With
End If
End Sub
Ce dernier Code Ajout, ne me permet pas :
a) de compléter la ligne avec le contenu des deux combobox
b) de plus, le fichier s'ouvre directement sans avoir réalisé a)
Merci de me dire comment faire ?
CAPRI_456
En annexe, le fichier en question "Forumlast.xls" dont les codes se trouvent en fin de l'USF "UserForm1"
NB: probablement que vous ne pourrez pas ouvrir le fichier car pas disponible et que les chemins de répertoires ciblés ne le sont pas non plus
Mais ainsi , vous pourrez mieux visualiser