Filtrer des lignes dans d'autres feuilles
R
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 SubEdit: Ajout du Tri
Bonne Journée
R
Merci beaucoup c'est tout à fait ce que je recherchais!