Ajouter des lignes dans une listview grâce à un bouton

Bonjour à toutes et a tous,

Je finalise un projet de gestion de stock et en cela j'aurais eu besoin de votre maîtrise en VBA pour résoudre un soucis technique.

J'ai un userform qui me permet de remplir mon bon de commande cependant avec mon ancienne version je ne pouvais commander qu'une seule pièce par commande. J'ai donc mis en place une listview qui me permettra de lister toutes les pièces que je souhaite commander pour ensuite l'inscrire dans ma commande.

Mon problème est que j'arrive à remplir la la première colonne mais pour passer à la deuxième sa ne fonctionne pas et je n'arrive pas à l a remplir.

J'aurais donc souhaité avoir votre aide pour pouvoir remplir ma listview et pour ensuite cliquer sur le bouton valider et remplir mon bon de commande.

En vous remerciant d'avance pour votre retour.

MERCI


148test1.xlsm (873.77 Ko)

Bonsoir yohann.Gestion

exemple

With UserForm1
    .ListView1.ListItems.Add , , TextBox1.Value
    .ListView1.ListItems(.ListView1.ListItems.Count).ListSubItems.Add , , TextBox2.Value
    .ListView1.ListItems(.ListView1.ListItems.Count).ListSubItems.Add , , TextBox3.Value
End With

Bonjour BOB71AU,

Tous d'abord merci pour votre réponse qui fonctionne parfaitement .

je voulais également savoir si c'étais possible de cliquer sur le bouton valider pour pouvoir mettre les pièces ajouté dans la listview dans la feuille bon de commande (Exemple première pièce = A15 pour la référence C15 pour la quantité et E15 pour le prix) et ainsi de suite pour toutes les pièces saisies dans la listview.

En vous remerciant.

Cordialement.

Bonjour yohann.Gestion

en partant du fait que l'on rempli la listview et le bon de commande en même temps

Private Sub Image3_Click()
Dim i As Long
Dim x As Long

If TextBox1.Value = "" Then
   MsgBox "Veuillez saisir le nombre de pièces que vous souhaitez commander"
Else
    If UserForm1.ListView1.ListItems.Count >= 18 Then
      MsgBox "Bon de commande rempli": Exit Sub
    Else
      With UserForm1
        .ListView1.ListItems.Add , , TextBox1.Value
        .ListView1.ListItems(.ListView1.ListItems.Count).ListSubItems.Add , , TextBox2.Value
        .ListView1.ListItems(.ListView1.ListItems.Count).ListSubItems.Add , , TextBox3.Value
      End With
    End If
    With Sheets("Bons de commandes")
       .Range("A" & UserForm1.ListView1.ListItems.Count + 14) = TextBox2.Value
       .Range("C" & UserForm1.ListView1.ListItems.Count + 14) = TextBox1.Value
       .Range("E" & UserForm1.ListView1.ListItems.Count + 14) = TextBox3.Value
    End With
    UserForm1.TextBox1 = ""
End If
End Sub

Merci pour la réponse mais en effet il faut partir du principe que l'on rempli le bon de commande en même temps. Cependant si l'on se trompe dans notre commande et que l'on souhaite revenir en arrière on pourra toujours supprimer la ligne de notre listview mais pas celle de notre bon de commande c'est pour cela que je voulais d'abords tout intégrer dans une listview pour ensuite venir alimenter mon bon de commande + mon historique des commandes.

Merci.

Re

Boucle pour transfert de listview vers bon de commande

Dim i%
    With Sheets("Bons de commandes")
      If UserForm1.ListView1.ListItems.Count >= 1 Then
         For i = 1 To UserForm1.ListView1.ListItems.Count
           .Range("A" & i + 14) = UserForm1.ListView1.ListItems(i).ListSubItems(1)
           .Range("C" & i + 14) = UserForm1.ListView1.ListItems(i)
           .Range("E" & i + 14) = UserForm1.ListView1.ListItems(i).ListSubItems(2)
         Next i
      End If
    End With

Bonjour BOB71AU,

Merci infiniment pour ton aide sa fonctionne parfaitement encore Merci

Rechercher des sujets similaires à "ajouter lignes listview bouton"