Modifier code Userform

bonjour le forum,

bonjour à tous,

je cale depuis qlq jours sur une amélioration que je souhaite apporter à ce 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.

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

16classeur1.xlsm (184.66 Ko)

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.

Rechercher des sujets similaires à "modifier code userform"