Bonjour,

J'ai un formulaire me permettant de mettre à jour des quantités dans ma feuille Excel en fonction de la sélection dans une ListBox.

Je souhaiterai pouvoir modifier plusieurs lignes différentes dans ma feuille Excel lorsqu'une ligne spécifique de ma ListBox est sélectionnée.

Ex :
Dans ma ListBox, je sélectionne l'item Kit A, je souhaite que les lignes ITEM1_A , ITEM2_A soient mises à jour.

Mon code fonctionnel pour une mise à jour d'une ligne autre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
 
 
Private Sub Btn_MAJSTOCk_Click()
 
'------------------------------------------------------------- APPEL DE LA FONCTION POUR MAJ DU STOCK -------------------------------------------
 
 
Call edit_from_sheet
 
'------------------------------------------------------------- FIN APPEL DE LA FONCTION POUR MAJ DU STOCK -------------------------------------------
 
 
 
'-------------------------------------------------------------- MISE A JOUR FEUILLE DE SUIVI -------------------------------------------
 
Dim Lign As Integer
 
Lign = 1
 
While Sheets("Suivi").Range("A" & Lign).Value <> ""
 
Lign = Lign + 1
 
Wend
 
Sheets("Suivi").Range("A" & Lign).Value = Me.Date_Pickup
Sheets("Suivi").Range("B" & Lign).Value = Me.List_Mat
Sheets("Suivi").Range("C" & Lign).Value = Me.Qte_Pickup
Sheets("Suivi").Range("D" & Lign).Value = Me.List_Tech
Sheets("Suivi").Range("E" & Lign).Value = "Prélèvement"
 
 
'Envoi mail au Team Leader
 
' declaration des variables
 
  Dim MonOutlook As Object
  Dim MonMessage As Object
  Dim corps As String
 
 
  Set MonOutlook = CreateObject("Outlook.Application")
 
  ' creation du message pour le destinataire
  Set MonMessage = MonOutlook.createitem(0)
  MonMessage.to = "ADRESSE MAIL"
  MonMessage.Subject = "Nouvelle Mise à jour fichier stock" & " " & "- Prélèvement -"
 
 
    corps = "Bonjour, une nouvelle saisie a été effectuée dans le fichier stock"
 
    MonMessage.body = corps
 
 
    ' envoi des mails
        MonMessage.send
 
 
   Set MonOutlook = Nothing
 
 
'-------------------------------------------------------------- FIN MISE A JOUR FEUILLE DE SUIVI -------------------------------------------
 
 
 
 
Unload Me 'permet de réactualiser la fenêtre UserForm
MsgBox "Prélèvement stock enregistré.", vbExclamation
Inventaire.Show
End Sub
 
Function edit_from_sheet() 'MISE A JOUR DE LA QUANTITE EN STOCK
Dim rng1 As Range
Dim Str_search As String
Str_search = List_Mat.Value
ThisWorkbook.Sheets("SHEMA STOCK").Activate
Set rng1 = Sheets("SHEMA STOCK").Range("R:R").Find(Str_search, , xlValues, xlWhole)
If Not rng1 Is Nothing Then
rng1.Select
Dim row_number As Long
row_number = ActiveCell.Row
ThisWorkbook.Sheets("SHEMA STOCK").Activate
Sheets("SHEMA STOCK").Range("V" & row_number) = Sheets("SHEMA STOCK").Range("V" & row_number).Value - Qte_Pickup.Value
 
Else
MsgBox Str_search & "Non Trouvé"
End If
 
 
End Function

En PJ la présentation de mon formulaire (je ne peux pas l'uploader).

L'idée lorsque la ligne KIT A (comprenant Item 1 Kit A et item 2 Kit A) est sélectionnée, en cliquant sur prélèvement STOCK, les cellules correspondantes à mes items soient mises à jour.


Merci d'avance pour votre aide.Nom : Capture.PNG
Affichages : 198
Taille : 32,4 KoNom : Capture.PNG
Affichages : 198
Taille : 32,4 KoNom : Capture.PNG
Affichages : 198
Taille : 32,4 KoNom : Capture.PNG
Affichages : 198
Taille : 32,4 Ko

Cordialement