Comment inclure une condition dans ma macro???

neger555 Messages postés 2 Statut Membre -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
Voici mon problème,
J'ai un tableau avec une longue liste de matériel associé à des fournisseurs. Je veux qu'une fois mon tableau complété, je puisse obtenir tout les fournisseurs ou j'aurai des items à commander et qu'ils apparaissent, en ordre alpha.
J'ai réussi à faire une partie de l'équation mais je n'arrive pas à placer ma condition pour avoir seulement les fournisseurs avec des items à commander. Le point de vérification serait la colonne "quantités". Si la quantité est >0 .... Pour le moment, la macro me donne tout les fournisseurs .... voici la macro...

Sub Fournisseurs_sans_doublon()
'
' Copie fournisseur sans doublon
'
' Touche de raccourci du clavier: Ctrl+a
'
Sheets("master").Select
Range("B2:B21").Select
Selection.Copy
Range("M2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("master").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("master").Sort.SortFields.Add Key:=Range("M2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("master").Sort
.SetRange Range("M2:M21")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Range("$M$2:$M$21").RemoveDuplicates Columns:=1, Header:=xlNo
Range("R2").Select

End Sub

Merci à l'avance...

3 réponses

  1. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Dans un premier temps, dans quelle colonne se trouve les quantités qui servent de référence pour établir la liste des fournisseurs concernées .... ?
    Qu'elle est la plage occupée par le tableau .... ?
    A quel endroit faut-il insérer la liste des fournisseurs concernés.... ?

    0
  2. neger555 Messages postés 2 Statut Membre
     
    Merci de ton aide malgré que j'ai oublié quelque infos....

    Alors, les quantités se trouve dans la colonne "E",
    dans mon exemple, la plage du tableau (si je comprend bien ta question), B1 à G21,
    et on envoi les infos dans la colonne "M".

    Encore merci !!!
    0
  3. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Merci pour les informations
    Je vous propose de le réaliser comme suit :
    Plage de critère pour Quantité en [L1 :L2] avec en [L1] le nom de la colonne [E] et en [L2] (>0).
    Le nom de la colonne [M] soit en [M1] le nom que vous avez en [B1].
    La procédure :
    Sub listefournisseur()
    Sheets("master").Activate
    Range("B1:E" & Cells(Rows.count, 2).End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Range("L1:L2"), CopyToRange:=Range("M1"), Unique:=True
    Columns("M:M").Sort Key1:=Columns("M"), Order1:=xlAscending, Header:=xlYes
    End Sub

    0