Gestion stock plusieurs catégorie - VBA

Bonjour à tous

Sur le classeur ci-joint je souhaite effectuer une gestion de transferts de matériel entre plusieurs chantiers. Je ne connais pas la totalité du matériel dans les 5 rubriques (onglets bleus foncé), je souhaite donc pouvoir en ajouter autant que possible et que la tableau dans l'onglet "transfert" s'ajuste en fonction. De même pour le nombre de chantiers amené à évoluer.

Le bouton 2 permet de générer les transferts entre chantiers.

Une partie de la programmation est faite mais ils y a des beugs que je n'arrive pas à déceler comme le matériel qui ne s'ajoute pas dans la bonne catégorie ou le tableau qui ne s'ajuste pas bien par exemple ...

Merci d'avance pour votre aide !

Bonne soirée

Bonjour

Voilà pour un début.

Pour la suite, il te faudrait mettre de la cohérence entre ta feuille ‘’Transfert‘’ et les divers onglet bleus.

Exemple : sur la feuille ‘’Transfert’’, en colonne C on retrouve des matériels qui semblent faire parte de « ‘’Installation » mais qu’on retrouve dans l’onglet ‘’Voiles’’ (Banches)

Par ailleurs, il serait préférable que l’on ne retrouve pas le même nom de marériel dans 2 onglets bleus…

Bye !

Bonsoir,

C'est justement ça mon problème c'est lorsque j'ajoute du matériel sous mon onglet voiles qu'ils se rajoutent dans la rubrique installation ... Et là je viens de reprendre ton fichier mais je vois que plus rien ne s'ajoute dans l'onglet transfert lorsque je complète mes onglets ...

Merci

Bonjour à tous,

Visiblement ma demande est compliquée à réaliser, j'ai donc simplifier ma demande (du moins j'espère ) . J'ai repris mon classeur en ne conservant qu'un seul onglet. Je souhaiterais maintenant compléter mes comboBox dans l'userform mais je bloque ...

Combo1: prendre parmi les 5 catégorie (Colonne A)

Combo 2: afficher liste de matériel de la catégorie sélectionnée (colonne B)

Combo 3 et 4: sélectionner les deux lieux entre lesquels le transfert se fait (Dépôt ou chantier)

Combo 5: La quantité prise sur le lieu de provenance

Je souhaite ensuite que les quantités s'ajustent dans les rubrique Dépôt à chantier (colonnes D à J) ... (je dois pouvoir rajouter des chantier) sachant que le stock global sera constant le stock dépôt est donc égale à somme stock global - somme stock sur chantiers.

J'espère que ma demande est plus compréhensible de cette façon et plus simple à mettre en oeuvre.

Merci d'avance passez une bonne journée

Bonjour toutes et tous

J'ai rajouté 5 checkbox dans ton userform1 (pour les catégories)

si clic sur une de ces checkbox la combobox1 de ton usetrform1 sélectionne le mot le copie dans la combobox et la liste est complète de sa catégorie (voir image en exemple)

le code : pour les checkboxs et la combobox1

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
CheckBox5.Value = False
ComboBox1.Value = "Installation"
If ComboBox1.Value = "Installation" Then ComboBox1.RowSource = Sheets("Transferts").Range("B4:B29").Address
Else
ComboBox1.Value = Null
End If
End Sub

Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
CheckBox1.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
CheckBox5.Value = False
ComboBox1.Value = "Voiles"
If ComboBox1.Value = "Voiles" Then ComboBox1.RowSource = Sheets("Transferts").Range("B31:B52").Address
Else
ComboBox1.Value = Null
End If
End Sub

Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox4.Value = False
CheckBox5.Value = False
ComboBox1.Value = "Plancher"
If ComboBox1.Value = "Plancher" Then ComboBox1.RowSource = Sheets("Transferts").Range("B54:B76").Address
Else
ComboBox1.Value = Null
End If
End Sub

Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox5.Value = False
ComboBox1.Value = "Sécurité"
If ComboBox1.Value = "Sécurité" Then ComboBox1.RowSource = Sheets("Transferts").Range("B78:B90").Address
Else
ComboBox1.Value = Null
End If
End Sub

Private Sub CheckBox5_Click()
If CheckBox5.Value = True Then
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
ComboBox1.Value = "Divers"
If ComboBox1.Value = "Divers" Then ComboBox1.RowSource = Sheets("Transferts").Range("B92:B93").Address
Else
ComboBox1.Value = Null
End If
End Sub

Private Sub ComboBox1_change()
If ComboBox1.Value = "Installation" Then ComboBox1.RowSource = Sheets("Transferts").Range("B4:B29").Address
If ComboBox1.Value = "Voiles" Then ComboBox1.RowSource = Sheets("Transferts").Range("B31:B52").Address
If ComboBox1.Value = "Plancher" Then ComboBox1.RowSource = Sheets("Transferts").Range("B54:B76").Address
If ComboBox1.Value = "Sécurité" Then ComboBox1.RowSource = Sheets("Transferts").Range("B78:B90").Address
If ComboBox1.Value = "Divers" Then ComboBox1.RowSource = Sheets("Transferts").Range("B92:B93").Address
  '  If ComboBox1.Value = "Installation" Then ComboBox2.RowSource = "Transferts!B4:B29"
   ' If ComboBox1.Value = "Voiles" Then ComboBox2.RowSource = "Transferts!B31:B52"
   ' If ComboBox1.Value = "Plancher" Then ComboBox2.RowSource = "Transferts!B54:B76"
   ' If ComboBox1.Value = "Sécurité" Then ComboBox2.RowSource = "Transferts!B78:B90"
   ' If ComboBox1.Value = "Divers" Then ComboBox2.RowSource = "Transferts!B92:B93"
If ComboBox1.Value = "" Then
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
CheckBox5.Value = False
End If
End Sub
ztest12

Bonjour,

Pouvez-vous me joindre le fichier sur lequel vous avez procéder à cette modification ?

Merci

Bonjour,

@Mt44, oups! je pensais l'avoir mis ci-joint

crdlt,

André

Bonjour,

Merci déjà c'est vrai que c'est plus simple comme ça ! Je n'ai donc plus besoin de la comboBox 2 "Matériel" Mais quand est-il pour compléter mes autres comboBox (Provenance, destination et quantité) ? Je débute vraiment en VBA désolé

Sachant que comme je l'ai dit je dois pouvoir rajouter plusieurs chantiers soit après le E soit insérer avant le A et ainsi de suite, je sais pas si c'est possible ça ?

Merci

Fred

Rechercher des sujets similaires à "gestion stock categorie vba"