Formulaire et Affichage conditionnel dans ListView
Le
Françoise
bonsoir tout le monde
j'ai une feuille STOCK avec les reférences produits
j'ai créé un formulaire me permettant d'afficher ces références dans une
listview, ce qui est super, car j'ai toutes les colonnes désirées dans un
seul élément de formulaire
lorsque je clique sur une ligne de produit j'arrive sur un autre formulaire
qui reprend la référence du produit, la qté en stock restante, la désignation
je voudrais qu'apparaissent ensuite dans une nouvelle listview des données
figurant sur la feuille SORTIES
Je veux uniquement le détail des SORTIES concernant la référence
sélectionnée dans ma TextBox : TextBoxRefArt
mais je n'arrive pas à afficher cette sélection, j'ai une erreur 1004 et je
n'y comprends plus rien !
Quelqu'un peut il me dire ce qu'il en pense :
=
Private Sub UserForm_Activate()
'Suppression des titres de colonnes
ListView1.ColumnHeaders.Clear
'Alimentation des titres de colonne :
'Titre de la colonne : "Référence",
'Largeur de la colonne : ListView1.Width * 0.3,
'Alignement de la colonne : lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Référence", ListView1.Width * 0.2,
lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Désignation", ListView1.Width * 0.4,
lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Prix public", ListView1.Width * 0.2,
lvwColumnRight
ListView1.ColumnHeaders.Add , , "Valeur Stock Totale", ListView1.Width *
0.2, lvwColumnRight
Dim iLigArticle As Integer
iLigArticle = 2
'Suppression des éléments de la liste
ListView1.ListItems.Clear
While Workbooks("STOCK.xls").Sheets("STOCK").Cells(iLigArticle, 1) <> ""
'Alimentation des éléments de la liste
ListView1.ListItems.Add iLigArticle - 1, ,
Sheets("STOCK").Cells(iLigArticle, 1)
ListView1.ListItems(iLigArticle - 1).SubItems(1) =
Sheets("STOCK").Cells(iLigArticle, 6)
ListView1.ListItems(iLigArticle - 1).SubItems(2) =
Format(Sheets("STOCK").Cells(iLigArticle, 8), "## ##0.00 €")
ListView1.ListItems(iLigArticle - 1).SubItems(3) =
Format(Sheets("STOCK").Cells(iLigArticle, 18), "## ##0.00 €")
iLigArticle = iLigArticle + 1
Wend
TextBoxValeurTotaleStock = Format(Sheets("STOCK").Range("U2").Value, "##
##0.00 €")
End Sub
Private Sub ListView1_Click()
'dès que l'on clique sur un article, on affiche dans le formulaire
UsfDetailArticle
'le détail de l'article.
RefArticle = ListView1.SelectedItem
With Sheets("STOCK").Range("A:A")
'on commence par rechercher dans la table de de données le N° de ligne
correspondant
'au titre sélectionné
Set c = .Find(RefArticle, LookIn:=xlValues, LookAt:=xlWhole)
'la variable Lig, correspondant au numéro de la ligne trouvée, est définie
comme une variable
'publique dans le module général déclarations. Ceci permet de passer sa
valeur d'un userform à un autre.
If Not c Is Nothing Then Lig = c.Row
End With
Unload UserForm1
UsfDetailArticle.Show
End Sub
+++++++
Private Sub UserForm_initialize()
TextBoxRefArt = Range("STOCK!A" & Lig).Value
TextBoxDésignation = Range("STOCK!F" & Lig).Value
TextBoxQtéRestante = Range("STOCK!P" & Lig).Value
Dim cell As Range
With Worksheets("SORTIES")
Set cell = .Range("A:A" & .Range("A65536").End(xlUp).Row)
End With
Do Until ActiveCell = ""
If ActiveCell = TextBoxRefArt.Value Then
'Suppression des titres de colonnes
ListViewSorties.ColumnHeaders.Clear
'Alimentation des titres de colonne :
'Titre de la colonne : "Référence",
'Largeur de la colonne : ListViewSorties.Width * 0.3,
'Alignement de la colonne : lvwColumnLeft
ListViewSorties.ColumnHeaders.Add , , "Date", ListViewSorties.Width * 0.2,
lvwColumnLeft
ListViewSorties.ColumnHeaders.Add , , "N° de commande",
ListViewSorties.Width * 0.4, lvwColumnLeft
ListViewSorties.ColumnHeaders.Add , , "Client", ListViewSorties.Width * 0.2,
lvwColumnRight
ListViewSorties.ColumnHeaders.Add , , "Qté réservée", ListViewSorties.Width
* 0.2, lvwColumnRight
Dim iLigArticle As Integer
iLigArticle = 2
'Suppression des éléments de la liste
ListViewSorties.ListItems.Clear
While Workbooks("STOCK.xls").Sheets("SORTIES").Cells(iLigArticle, 1)=
TextBoxRefArt.Value
'Alimentation des éléments de la liste
ListItems.Add iLigArticle - 1, , Sheets("SORTIES").Cells(iLigArticle, 1)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(1) =
Sheets("SORTIES").Cells(iLigArticle, 6)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(2) =
Sheets("SORTIES").Cells(iLigArticle, 4)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(3) =
Sheets("SORTIES").Cells(iLigArticle, 5)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(3) =
Sheets("SORTIES").Cells(iLigArticle, 3)
iLigArticle = iLigArticle + 1
Wend
End If
Loop
End Sub
++++++++++++++++++++++++++++++++++++++++++++++++
D'avance merci !
j'ai une feuille STOCK avec les reférences produits
j'ai créé un formulaire me permettant d'afficher ces références dans une
listview, ce qui est super, car j'ai toutes les colonnes désirées dans un
seul élément de formulaire
lorsque je clique sur une ligne de produit j'arrive sur un autre formulaire
qui reprend la référence du produit, la qté en stock restante, la désignation
je voudrais qu'apparaissent ensuite dans une nouvelle listview des données
figurant sur la feuille SORTIES
Je veux uniquement le détail des SORTIES concernant la référence
sélectionnée dans ma TextBox : TextBoxRefArt
mais je n'arrive pas à afficher cette sélection, j'ai une erreur 1004 et je
n'y comprends plus rien !
Quelqu'un peut il me dire ce qu'il en pense :
=
Private Sub UserForm_Activate()
'Suppression des titres de colonnes
ListView1.ColumnHeaders.Clear
'Alimentation des titres de colonne :
'Titre de la colonne : "Référence",
'Largeur de la colonne : ListView1.Width * 0.3,
'Alignement de la colonne : lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Référence", ListView1.Width * 0.2,
lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Désignation", ListView1.Width * 0.4,
lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Prix public", ListView1.Width * 0.2,
lvwColumnRight
ListView1.ColumnHeaders.Add , , "Valeur Stock Totale", ListView1.Width *
0.2, lvwColumnRight
Dim iLigArticle As Integer
iLigArticle = 2
'Suppression des éléments de la liste
ListView1.ListItems.Clear
While Workbooks("STOCK.xls").Sheets("STOCK").Cells(iLigArticle, 1) <> ""
'Alimentation des éléments de la liste
ListView1.ListItems.Add iLigArticle - 1, ,
Sheets("STOCK").Cells(iLigArticle, 1)
ListView1.ListItems(iLigArticle - 1).SubItems(1) =
Sheets("STOCK").Cells(iLigArticle, 6)
ListView1.ListItems(iLigArticle - 1).SubItems(2) =
Format(Sheets("STOCK").Cells(iLigArticle, 8), "## ##0.00 €")
ListView1.ListItems(iLigArticle - 1).SubItems(3) =
Format(Sheets("STOCK").Cells(iLigArticle, 18), "## ##0.00 €")
iLigArticle = iLigArticle + 1
Wend
TextBoxValeurTotaleStock = Format(Sheets("STOCK").Range("U2").Value, "##
##0.00 €")
End Sub
Private Sub ListView1_Click()
'dès que l'on clique sur un article, on affiche dans le formulaire
UsfDetailArticle
'le détail de l'article.
RefArticle = ListView1.SelectedItem
With Sheets("STOCK").Range("A:A")
'on commence par rechercher dans la table de de données le N° de ligne
correspondant
'au titre sélectionné
Set c = .Find(RefArticle, LookIn:=xlValues, LookAt:=xlWhole)
'la variable Lig, correspondant au numéro de la ligne trouvée, est définie
comme une variable
'publique dans le module général déclarations. Ceci permet de passer sa
valeur d'un userform à un autre.
If Not c Is Nothing Then Lig = c.Row
End With
Unload UserForm1
UsfDetailArticle.Show
End Sub
+++++++
Private Sub UserForm_initialize()
TextBoxRefArt = Range("STOCK!A" & Lig).Value
TextBoxDésignation = Range("STOCK!F" & Lig).Value
TextBoxQtéRestante = Range("STOCK!P" & Lig).Value
Dim cell As Range
With Worksheets("SORTIES")
Set cell = .Range("A:A" & .Range("A65536").End(xlUp).Row)
End With
Do Until ActiveCell = ""
If ActiveCell = TextBoxRefArt.Value Then
'Suppression des titres de colonnes
ListViewSorties.ColumnHeaders.Clear
'Alimentation des titres de colonne :
'Titre de la colonne : "Référence",
'Largeur de la colonne : ListViewSorties.Width * 0.3,
'Alignement de la colonne : lvwColumnLeft
ListViewSorties.ColumnHeaders.Add , , "Date", ListViewSorties.Width * 0.2,
lvwColumnLeft
ListViewSorties.ColumnHeaders.Add , , "N° de commande",
ListViewSorties.Width * 0.4, lvwColumnLeft
ListViewSorties.ColumnHeaders.Add , , "Client", ListViewSorties.Width * 0.2,
lvwColumnRight
ListViewSorties.ColumnHeaders.Add , , "Qté réservée", ListViewSorties.Width
* 0.2, lvwColumnRight
Dim iLigArticle As Integer
iLigArticle = 2
'Suppression des éléments de la liste
ListViewSorties.ListItems.Clear
While Workbooks("STOCK.xls").Sheets("SORTIES").Cells(iLigArticle, 1)=
TextBoxRefArt.Value
'Alimentation des éléments de la liste
ListItems.Add iLigArticle - 1, , Sheets("SORTIES").Cells(iLigArticle, 1)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(1) =
Sheets("SORTIES").Cells(iLigArticle, 6)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(2) =
Sheets("SORTIES").Cells(iLigArticle, 4)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(3) =
Sheets("SORTIES").Cells(iLigArticle, 5)
ListViewSorties.ListItems(iLigArticle - 1).SubItems(3) =
Sheets("SORTIES").Cells(iLigArticle, 3)
iLigArticle = iLigArticle + 1
Wend
End If
Loop
End Sub
++++++++++++++++++++++++++++++++++++++++++++++++
D'avance merci !

Poser une question


cela ne va pas vous aider, mais quand même "bonne fête"pour la saint
Françoise
fréro
Ps: un exemple de votre réalisation doit être ,intéressant et,spectaculaire
"Françoise" news:
j'espère que quelqu'un aura une petite piste à me proposer ! bonne journée à
tous
"fréro" a écrit :
Au pif (les usf et moi ...)
> Private Sub UserForm_initialize()
> TextBoxRefArt = Range("STOCK!A" & Lig).Value
> TextBoxDésignation = Range("STOCK!F" & Lig).Value
> TextBoxQtéRestante = Range("STOCK!P" & Lig).Value
Quelle est la valeur de Lig ? Si c'est zéro ...
@+
FxM
Françoise a écrit :