XL 2016 Tableau de fournisseur et triage par onglet

  • Initiateur de la discussion Initiateur de la discussion Dominic74
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dominic74

XLDnaute Nouveau
Bonjour à tous, je suis à la recherche d'une solution simple pour me faire des tableau d'inventaire selon des catégories de produit. j'ai mon fichier excel joint.

Pour débuter, j'ai dans un onglet ma liste de fournisseurs avec tous mes produits, prix, catégorie etc. et j'aimerais être capable que ce tableau se répartisse automatiquement dans chaque onglet selon leurs catégories. Je sais que je pourrais sans doute faire un tableau dynamique pour chaque onglet, mais existe t'il une autre méthode pour copier se produit et le modifier si je fais une modification dans la liste du produit ?

merci pour votre collaboration 🙂
 

Pièces jointes

Bonsoir @Dominic74 , le Forum

Une approche en boucles simples et faciles à comprendre, mais tout dépend de la quantité de données à traiter, car si c'est simple, ce n'est pas pour autant très optimisé pour de grandes quantités.

Une modi à ta base de données toute fois,
Classe 02: PRODUITS LAITIERS
Au lieu de :
Classe: 02: PRODUITS LAITIERS
Sinon ça complique les choses pour rien, ou bien ce sont les noms d'onglets qu'il faut changer...

Bien à toi, à vous
@+Thierry
 

Pièces jointes

Bonsoir,

Avec le filtre élaboré

VB:
Sub Extrait()
  Set f = Sheets("fournisseursliste")
  Application.DisplayAlerts = False
  Application.ScreenUpdating = False
  f.[L1] = f.[C1]     ' colonne critère (adapter)
  Nlig = f.[A1].CurrentRegion.Rows.Count
  Ncol = f.[A1].CurrentRegion.Columns.Count
  '--- Liste des ID
  f.[A1].Resize(Nlig, Ncol).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=f.[L1], Unique:=True
  For Each c In f.Range("L2:L" & f.[L65000].End(xlUp).Row)   ' pour chaque service
     f.[L2] = c.Value
     On Error Resume Next
     Sheets(CStr(c.Value)).Delete
     On Error GoTo 0
     Sheets.Add After:=Sheets(Sheets.Count)   ' création
     nom = Replace(Left(c.Value, 10), ":", "_")
     ActiveSheet.Name = nom
     '-- extraction
     f.[A1].Resize(Nlig, Ncol).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[L1:L2], CopyToRange:=[A1]
   Next c
   f.Select
End Sub


Boisgontier
 

Pièces jointes

Bonsoir @Dominic74 , le Forum

Une approche en boucles simples et faciles à comprendre, mais tout dépend de la quantité de données à traiter, car si c'est simple, ce n'est pas pour autant très optimisé pour de grandes quantités.

Une modi à ta base de données toute fois,
Classe 02: PRODUITS LAITIERS
Au lieu de :
Classe: 02: PRODUITS LAITIERS
Sinon ça complique les choses pour rien, ou bien ce sont les noms d'onglets qu'il faut changer...

Bien à toi, à vous
@+Thierry
Merci en effet, ainsi ca fonctionne bien, mais ma liste devrait augmenter considérablement, ca sera alors probablement trop lent. mais pour le moment ca m'aide beaucoup merci beaucoup! 🙂
 
Bonsoir,

Avec le filtre élaboré

VB:
Sub Extrait()
  Set f = Sheets("fournisseursliste")
  Application.DisplayAlerts = False
  Application.ScreenUpdating = False
  f.[L1] = f.[C1]     ' colonne critère (adapter)
  Nlig = f.[A1].CurrentRegion.Rows.Count
  Ncol = f.[A1].CurrentRegion.Columns.Count
  '--- Liste des ID
  f.[A1].Resize(Nlig, Ncol).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=f.[L1], Unique:=True
  For Each c In f.Range("L2:L" & f.[L65000].End(xlUp).Row)   ' pour chaque service
     f.[L2] = c.Value
     On Error Resume Next
     Sheets(CStr(c.Value)).Delete
     On Error GoTo 0
     Sheets.Add After:=Sheets(Sheets.Count)   ' création
     nom = Replace(Left(c.Value, 10), ":", "_")
     ActiveSheet.Name = nom
     '-- extraction
     f.[A1].Resize(Nlig, Ncol).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[L1:L2], CopyToRange:=[A1]
   Next c
   f.Select
End Sub


Boisgontier
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour