Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formulaire et Affichage conditionnel dans ListView

3 réponses
Avatar
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 !

3 réponses

Avatar
fréro
bonsoir
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" a écrit dans le message de
news:
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 !



Avatar
Françoise
Merci d'avoir pensé à ma fête, mais bon je bute toujours sur mon problème,
j'espère que quelqu'un aura une petite piste à me proposer ! bonne journée à
tous

"fréro" a écrit :

bonsoir
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" a écrit dans le message de
news:
> 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 !
>




Avatar
FxM
Bonjour Françoise,

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 :
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 !