Filtrer des lignes dans d'autres feuilles

Bonjour à tous,

Après avoir fais une recherche sur votre forum (j'ai trouvé la réponse à ma question, mais je n'arrive pas à l'appliquer) je cherche à réaliser ceci :

Pouvoir copier une ligne entière de ma feuille "Général" dans une autre feuille qui aurait le même nom que la l'intitulé de la colonne "A". Une sorte de filtre mais dont le résultat irait dans d'autres feuilles.

Un atout aussi, serait de pouvoir trier mes feuilles par "N° Cde"

Vous pouvez trouver ici ma base

Merci d'avance pour votre aide,

Roden

Bonjour et Bienvenue,

Un essai en Pièce Jointe

Option Explicit

Sub Dispatching()
Dim Pl As Range, Cel As Range, M As String, Dest, DerLig As Long, Ws As Worksheet ' Déclaration des Variables
For Each Ws In Worksheets
    If Ws.Name <> "Général" And Ws.Name <> "Listes" Then _
    Ws.Range("A5:C" & Sheets("Général").Cells(Application.Rows.Count, 3).End(xlUp).Row).ClearContents 'Supprime les données déja éxistantes
Next Ws
Set Pl = Feuil1.Range("A5:A" & Sheets("Général").Cells(Application.Rows.Count, 3).End(xlUp).Row)
    DerLig = Range("C65536").End(xlUp).Row ' Recherche de la dernière ligne non vide de la Colonne C
    Range("A5:C" & DerLig).Sort Key1:=Range("B4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal ' Tri en Fonction du N° de Commande
For Each Cel In Pl 'boucle sur toutes les cellules éditées cel de la plage pl
    'condition 1 : la Cellule n'est pas vide
    If Cel <> "" Then
        M = Cel 'définit la variable m
        On Error Resume Next 'en cas d'erreur on passe à la ligne suivante
        With Sheets(M) 'prend en compte l'onglet M (si cet onglet n'existe pas cela provoque une erreur)
           If Err > 0 Then 'condition 2 : si une erreur a été provoquée
                MsgBox "l'onglet " & M & " n'existe pas dans ce classeur vous devez le créer !" 'message
                Exit Sub 'sort de la procédure
            End If 'fin de la condition 2
           '
            Set Dest = .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellule de destination
        With Cel.EntireRow 'prend en compte la ligne entière de la cellule cel
            .Copy Dest 'la copie dans la cellule de destination
        End With 'fin de la prise en compte de la ligne entière de la cellule cel
        End With 'fin de la prise en compte de l'onglet m
    End If 'fin de la condition 1
Next Cel 'prochaine cellule cel de la boucle
End Sub

Edit: Ajout du Tri

51test-roden.zip (18.59 Ko)

Bonne Journée

Merci beaucoup c'est tout à fait ce que je recherchais!

Rechercher des sujets similaires à "filtrer lignes feuilles"