Gestion des interventions et stock

aminetek

XLDnaute Nouveau
Messieurs Dames Bonjour ;
Je reviens vers vous suite à un mois de recherche intense en vain :s
Je vous explique mon besoin et j’espère que quelqu’un puisse m’aider, parce que j’en ai vraiment besoin.
Sur le fichier Excel attaché, il y a trois feuilles ( DI = Demande d’Intervention ; Stock Magasin ; Historique).
Cijoint.fr - Service gratuit de dépôt de fichiers

Mon souhait est de pouvoir d’abord créer une liste de choix dans la feuille DI dans la zone( Piece de Rechange) à partir du stock dans la feuille STOCK MAGASIN. C'est-à-dire que je choisis la reference de l’article ou sa désignation et j’obtiens automatiquement la quantité existante et je rempli ensuite la quantité dont j’aurai besoin dans mon intervention
Ensuite ; je veux créer une liaison entre la feuille DI et la feuille stock magasin qui va me permettre de soustraire automatiquement la quantité utilisée de chaque élément du stock. N.B : On peut prendre ces quantités de la feuille Historique puisque ces informations seront enregistrées dans cette feuille
Apres je veux créer un bouton dans la feuille DI que l’on appel « Archiver » ; qui permet d’une part de copier les cases remplie par l’agent et les coller dans la feuille historique dans une seule ligne. Et d’une autre part de vider ses cases après leur remplissage.
J’espère que je n’abuse pas trop de votre gentillesse, mais vous allez me rendre un très grand service.
Meilleures salutations.
A.B.M
 

Pièces jointes

  • cijqaGPRDz.xlsm
    8.3 KB · Affichages: 759

aminetek

XLDnaute Nouveau
Re : Gestion des interventions et stock

Bonjour;
comme d'habitude après plusieurs jours de recherche j'ai réussi à le faire mais j'ai toujours un problème de compilation quelqu'un pourra m'aider SVP je n'arrive pas a trouver l'erruer.

Sub Uniques()
Sheets("StockMagasin").Select
Range("B7:Q410").Select
ActiveWorkbook.Worksheets("StockMagasin").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("StockMagasin").Sort.SortFields.Add Key:=Range("B8:B410" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("StockMagasin").Sort
.SetRange Range("B7:N410")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Dim Magasin As Variant
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection
Dim i As Integer, j As Integer, x As Integer, y As Integer, z As Integer
Dim Swap1, Swap2, Item
Dim der1 As Long
Dim der2 As Long

der1 = Sheets("StockMagasin").Cells(Application.Rows.Count, "B").End(xlUp).Row
der2 = Sheets("Listes").Cells(Application.Rows.Count, "Q").End(xlUp).Row
Sheets("Listes").Range("B8:Q" & der2).ClearContents
Set AllCells = Sheets("StockMagasin").Range("B8:B" & der1)

On Error Resume Next

For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)
Next Cell
On Error GoTo 0

Magasin = Sheets("StockMagasin").Range("B8:C1000").Value

i = 2
j = 1
For Each Item In NoDupes
Sheets("Listes").Cells(i, j).Value = Item
y = j
For x = 1 To UBound(Magasin)
If Magasin(x, 1) = Item Then
Sheets("Listes").Cells(x + 2 - z, y).Value = Magasin(x, 2)
End If
Next x
j = j + 1
z = Sheets("Listes").Range(Cells(i + 1, 1), Cells(1000, j - 1)).Cells.SpecialCells(xlCellTypeConstants).Count
Next Item

End Sub
 

Statistiques des forums

Discussions
312 374
Messages
2 087 727
Membres
103 655
dernier inscrit
MOUNIRACH16