Copier une colonne d'un tableau, selon la valeur d'une ligne du mêmetableau
Bonjour a toutes et a tous,
Je suis un nouveau en VBA, je suis actuellement en train de réaliser un projet portant sur la GMAO (Gestion Maintenance Assisté pas Ordinateur) d'une entreprise fictive.
Cette GMAO est réalisé sur Excel. Etant charger de la partie stock de la gestion.
J'explique mon problème, dans la page (stock total système), j'aimerais pouvoir copier le contenu de certaine case d'une colonne d'un tableau (système, référence, désignation, quantité de pièce a commander) lorsque cette pièce en question passe en dessous du seuil.
Les pièces copier serait alors coller sur une autre page (commande) pour être commander par la suite
Les données de la pièce sur la page (stock total système) se situe en colonne et les seuils des pièces sont dans la ligne S avec 0 (il ne faut pas commander) et 1 (il faut commander).
De plus, (c'est ici que je bloque), j'aimerais faire une macro qui puisse gérer toutes les pièces du tableau (plus de 500 références). Sachant que chaque seuil correspond a une pièce.
Merci d'avance de votre aide.
Bonjour
réponse tardive mais voici un essai:
il y a des liens avec d'autres fichiers que je n'ai pas, donc j'ai remplacé directement les 1 et 0
Sub test()
Dim var As Long
For var = 1 To Cells(Rows.Count, "S").End(xlUp).Row
If Cells(var, 19) = 1 Then
Rows(var).Select
Selection.Copy
Sheets("commande").Select
Rows(var).Select
ActiveSheet.Paste
Sheets("stock total système").Select
End If
Next var
End Sub
Bonjour Naiviw, Numéro2, le forum,
Un autre essai....je ne transfert que les lignes où F (stock)est inférieur à H (seuil).
Option Explicit
Dim tablo, tabloR()
Dim i&, k&, derlig As Long
Sub Commande()
tablo = Sheets("stock total système").Range("B3").CurrentRegion
k = 0
For i = 2 To UBound(tablo, 1)
If tablo(i, 5) < tablo(i, 7) Then
ReDim Preserve tabloR(1 To 3, 1 To k + 1)
tabloR(1, 1 + k) = tablo(i, 1)
tabloR(2, 1 + k) = tablo(i, 2)
tabloR(3, 1 + k) = tablo(i, 3)
k = 1 + k
End If
Next i
On Error Resume Next
With Sheets("commande")
derlig = .Range("D" & Rows.Count).End(xlUp).Row + 1
.Range("D" & derlig).Resize(UBound(tabloR, 2), 3) = Application.Transpose(tabloR)
.Columns.AutoFit
End With
End Sub
Clique sur le bouton MAJ de la feuille commande.
Cordialement,