XL 2016 Demande d'aide pour modifier code Userform

Dudesson

XLDnaute Junior
bonjour le forum,
bonjour à tous,
je cale depuis qlq jours sur une amélioration que je souhaite apporter à ce magnifique fichier trouvé sur le net (merci au passage au concepteur) , raison pour laquelle, je me tourne vers vous.
il s'agit du multipage 4 = transferts (code ci après).
dans l'emplacement cible, il ne propose que les emplacements non présents sur la feuille stock, ce qui est parfait.
ce que j'aimerais c'est que si je choisis un magasin cible et que le lot y existe dans un emplacement, que ce emplacement soit aussi proposé (en plus).
exemple : si je veux faire un transfert du lot 110000 qui est en EMP02, je voudrais que si je choisis le magasin Hall A, alors j'ai les emplacements non occupés (ce qui est le cas) et en plus SAR02C qui est certes occupé mais avec le même lot, histoire d'avoir la possibilité de regrouper des lots (si ça devient le cas physiquement).
merci d'avance.
cordialement.
Pedro Dudesson.

Code:
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
Private Sub CmbB_Emplacement_C_AfterUpdate()
If Ok = False Then Exit Sub
Str_Emplacement_C = "": Str_Code_Emplacement = ""
With UsF_GESTION 'avec le Userform
With MltiPg.Pages(4) 'Avec la page du Multipage
Str_Magasin = .CmbB_Transfert_C.Text
With .CmbB_Emplacement_C
Str_Emplacement_C = .Text
.BackColor = IIf(Str_Emplacement_C = "", &H8080FF, &H80FF80)
If Str_Emplacement_C = "" Then GoTo suite

If Str_Magasin Like "Hors Site E" Then
Str_Code_Emplacement = Search_Ext(Tab_Exterieurs, Str_Emplacement_C)
Else
Str_Code_Emplacement = IIf(Mid(Str_Emplacement_C, 3, 1) = "R", "Rack ", "Sol ") & _
IIf(Len(Mid(Str_Emplacement_C, 3)) = 4, Mid(Str_Emplacement_C, 4, 2) & _
"." & Right(Str_Emplacement_C, 1), Mid(Str_Emplacement_C, 4))
End If
End With
suite:
With .Lbl_Code_Magasin_C
.Caption = Str_Code_Emplacement
End With
With .TxtB_Quantite_C
.Value = 0
.BackColor = &H8080FF
.Enabled = True
End With
.TxtB_Commentaire_Transfert_S.Text = "TRANSF-VERS " & .CmbB_Emplacement_C.Text & " " & _
" (" & "SORTIE" & " " & TxtB_Quantite_C.Value & ")"
End With
End With
End Sub


Private Sub CmbB_Emplacement_C_Change()
Dim x As Integer
Dim i As Integer
With CmbB_Emplacement_C
x = 0
For i = 0 To (.ListCount - 1)
If .Value = .List(i, 0) Then
x = 1
Exit For
End If
Next i
If x = 0 Then
.Value = ""
Exit Sub
End If
End With
End Sub
 

Pièces jointes

  • Classeur1.xlsm
    182.9 KB · Affichages: 12
Dernière édition:

Dudesson

XLDnaute Junior
bonjour le forum,
bonjour à tous,
toutes mes tentatives sont restées vaines mais j'ai une piste qui, je crois, devrait fonctionner mais j'ai du mal à l'écrire en langage vba :

Private Sub CmbB_Emplacement_C_Change()
Dim x As Integer
Dim i As Integer
With CmbB_Emplacement_C
x = 0
For i = 0 To (.ListCount - 1)
If .Value = .List(i, 0) Then
x = 1
Exit For
End If
Next i
If x = 0 Then
if le lot en CmbB_Num_Lot_Transfert a sur la feuille Stocks en colonne F le même code magasin que CmbB_Magasin_C Then
CmbB_Empllacement_C affiche l'emplacement correspondant sur la feuille Stocks en colonne E (cet affichage doit être d'office sélectionné et modifiable)

Else
.Value = ""
Exit Sub
End If
End With
End Sub

merci d'avance pour votre aide.
Pedro.
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024