UserForm sur plusieurs feuilles et combobox liées

Douds68160

XLDnaute Occasionnel
Bonjour,
J'aimerais savoir s'il est possible de remplir des feuilles par l'aide d'un UserForm.
Ensuite je n'arrive pas à alimenter un combobox avec une liste triée sans doublons
Je joins le fichier pour que ça soit plus clair car la j'ai un peu de mal a me faire comprendre je pense…
Merci
 

Douds68160

XLDnaute Occasionnel
Re : UserForm sur plusieurs feuilles et combobox liées

Merci beaucoup JP14 ca marche super...
Mais j'aimerais que quand je rempli les UserForm 1 et 2 les données ce mette dans la feuille mouvement, et je n'arrive pas a comprendre le code a réaliser...
Et aussi lier les feuilles mouvement et stock magasin, sans TCD car vu que les entrées et sorties vont bouger, le TCD ne ce met pas a jours si des nouvelles référence sont saisies.
Comment faire pour avoir le choix des combobox désignations suivant combobox de fourniture? Dans les entrées et les sorties.
 

Pièces jointes

  • Gestion des stocks V2.zip
    37.7 KB · Affichages: 146
  • Gestion des stocks V2.zip
    37.7 KB · Affichages: 138
  • Gestion des stocks V2.zip
    37.7 KB · Affichages: 157

jp14

XLDnaute Barbatruc
Re : UserForm sur plusieurs feuilles et combobox liées

Bonjour

Ci joint le fichier modifié avec l'userform1 modifié.
Un bouton permet la mise à jour de la feuille stock magasin.

A tester

JP
 

Pièces jointes

  • Gestion des stocks V2.zip
    46.1 KB · Affichages: 250
  • Gestion des stocks V2.zip
    46.1 KB · Affichages: 254
  • Gestion des stocks V2.zip
    46.1 KB · Affichages: 270

Douds68160

XLDnaute Occasionnel
Re : UserForm sur plusieurs feuilles et combobox liées

Merci JP14, ca marche super bien mais quand je saisie une entrée de fourniture au moment de valider, ca bug...


.Range("j" & dl1).Value = CCur(Label3.Caption) + CCur(Qté_entrée.Value)
 

jp14

XLDnaute Barbatruc
Re : UserForm sur plusieurs feuilles et combobox liées

Bonjour

Est ce une création ou une modification du stock.

code à modifier
Code:
Private Sub Désignation_Change()
.....................................
Label3.Caption = .List(.ListIndex, 2)
    [COLOR="Red"]If Label3.Caption = "" Then Label3.Caption = 0[/COLOR]
...........................
End Sub

JP
 
Dernière édition:

Douds68160

XLDnaute Occasionnel
Re : UserForm sur plusieurs feuilles et combobox liées

Une modification
Après avoir saisie une nouvelle référence
Exemple
Type de fourniture : Visserie acier
Désignation : Tige fileté M8
Stock mini : 2

Quand je rentre une entré de cette référence je rencontre le bug
 

jp14

XLDnaute Barbatruc
Re : UserForm sur plusieurs feuilles et combobox liées

Bonjour (re)

Ci dessous des modifications à apporter pour tenir compte des créations.
A tester

Code:
Private Sub Valider_Click()
Dim reponse As Variant
Dim dl1 As Long
Dim cellule As Range
Dim trouve As Boolean
If Type_fourn.ListIndex = -1 Then Exit Sub
If Désignation.ListIndex = -1 Then
    With Sheets(Type_fourn.Value)
   '
   'expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
   Do
           reponse = Application.InputBox(Prompt:="Veuillez indiquer le stock minimum", Type:=1, Default:="")
           Select Case reponse
               Case ""
                   MsgBox "vous n'avez pas  indiquez le stock mini!" & Chr(13) & "recommencez!", vbCritical, ""
               Case False
                   Exit Sub
               Case 0 ' à modifier si le stock mini est obligatoire
                   'Call MsgBox("Réponse erronée", vbExclamation, "")
                   Exit Do
               Case Else
                    Exit Do
           End Select
    Loop

         dl1 = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
        .Range("a" & dl1).Value = Désignation.Value
        .Range("b" & dl1).Value = reponse
        .Range("c" & dl1).Value = Qté_entrée.Value
        
    End With
Else
    With Sheets(Type_fourn.Value)
        .Range("c" & lig).Value = .Range("c" & lig).Value + Qté_entrée.Value
    End With
End If

With Sheets("Mouvements")
dl1 = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
For Each cellule In .Range("a1:a" & dl1)
    If cellule = Désignation.Value Then
        dl1 = cellule.Row
        trouve = True
        Exit For
    End If
Next cellule
'dercol = [IV3].End(xlToLeft).Column
If trouve = True Then ' mise à jour du stock
    .Range("B" & dl1).Value = Qté_entrée.Value
    .Range("C" & dl1).Value = Date_entrée.Value
Else ' ajout d'une désignation
    .Range("A" & dl1).Value = Type_fourn.Value
    .Range("B" & dl1).Value = Désignation.Value
    .Range("C" & dl1).Value = Label2.Caption
    .Range("D" & dl1).Value = Qté_entrée.Value
    .Range("E" & dl1).Value = Date_entrée.Value
    .Range("j" & dl1).Value = CCur(Label3.Caption) + CCur(Qté_entrée.Value)
End If
End With
' mise à jour stock

Unload Me

End Sub


Code:
Private Sub Désignation_Change()
If flag = True Then Exit Sub
lig = 0
Label2.Caption = ""
Label3.Caption = 0
With Désignation
    If .ListIndex = -1 Then
        Exit Sub
    End If
    lig = CLng(.List(.ListIndex, .ColumnCount - 1))
    Label2.Caption = .List(.ListIndex, 1)
    Label3.Caption = .List(.ListIndex, 2)
    If Label3.Caption = "" Then Label3.Caption = 0
End With
End Sub


JP
 

Douds68160

XLDnaute Occasionnel
Re : UserForm sur plusieurs feuilles et combobox liées

Merci beaucoup pour ce coup de main, c'est exactement ce que je voulais comme fichier.
Il ne me reste plus qu'a modifier l'Userform2 pour terminer. Mais si j'ai du mal je reposterait au cas où… Et pour la mise en couleur des valeurs du stock comment faire?
 

Douds68160

XLDnaute Occasionnel
Re : UserForm sur plusieurs feuilles et combobox liées

Bonjour,
Encore merci JP14, sans vous je ne serais pas a ce résultat! Mais on peut dire que je ne suis vraiment pas doué car j'ai encore des petits soucis…
Le format de la date dans le feuille mouvement ne correspond pas a la date rentré avec le calendrier (inversion jours et mois)
Et je n'arrive pas à trouver votre formule pour que le stock soit juste sur le feuille stock, car sur le feuille mouvement ça correspond…J'ai du louper un truc dans les codes…
Merci


http://sd-2.archive-host.com/membres/up/104712103362056938/Gestion_des_stocks.xls
 

jp14

XLDnaute Barbatruc
Re : UserForm sur plusieurs feuilles et combobox liées

Bonjour

Pour que la date soit correcte, il faut écrire (c'est un problème récurant suite à la différence entre une date française et américaine)
Code:
.Range("E" & dl1).Value = [COLOR="Red"]CDate([/COLOR]Date_entrée.Value[COLOR="Red"])[/COLOR]

Concernant le stock, il faut que sa valeur soit unique, les autres valeur n'étant qu'une copie de la cellule qui contient cette valeur.
Concernant le stock magasin j'ai mis une macro pour recopier les valeurs.
Pour la feuille mouvements on ne devrait pas avoir des mises à jour mais uniquement adjonction des mouvements ce qui permet de faire un historique.

JP
 

Douds68160

XLDnaute Occasionnel
Re : UserForm sur plusieurs feuilles et combobox liées

Bonjour JP

Merci, décidément je peux vraiment compter sur vous pour ce projet…
Mais quand je saisie une sortie magasin cette valeur est ajoutée au stock au lieu d'être soustraite.
Dans vos macros on pourrait déterminer si c'est une sortie ou il faudrait le faire sur chaque feuille ?
 

Discussions similaires

Réponses
13
Affichages
360

Statistiques des forums

Discussions
312 196
Messages
2 086 098
Membres
103 116
dernier inscrit
kutobi87