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.

36essaie.xlsx (166.89 Ko)

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
5naiviw.xlsm (256.47 Ko)

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
6essaiv1.xlsm (188.78 Ko)

Clique sur le bouton MAJ de la feuille commande.

Cordialement,

Rechercher des sujets similaires à "copier colonne tableau valeur ligne memetableau"