filtré et copier dans d'autres fenetres les filtres

  • Initiateur de la discussion Initiateur de la discussion Amieur
  • 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 !

A

Amieur

Guest
Bonjour ;

je me suis inscrit aujourd'hui car le forum est trés riche, j'ai télécharger une macro qui a des erreurs, mais je n'arrive pas a la mettre au point ;

je demande votre aide afin de la rendre parfaite ;
le problème qui se pose dans le filtre du tableau
1- il prend toutes les valeurs et ils les filtre
2- si une valeur ne se trouve pas dans la macro il indique une erreur
pour précision la macro ci-dessous filtre meme si on touve pas la lettre qu'on cherche, elle prend directement la valeur d'avant et elle là classe, et normalement si elle trouve pas la valeur qu'elle cherche, elle ne la traite pas !!



Sub copie()
'Macro dan pour Pat76
'http://www.excel-pratique.com/forum/viewtopic.php?t=13584
Dim plage As Range, cel As Range
Dim dlg As Integer
Set plage = Range("C2:C" & Range("C65536").End(xlUp).Row)
For Each cel In plage
Select Case cel
Case Is = "T": course = "Trot"
Case Is = "O": course = "Obstacle"
Case Is = "P": course = "Plat"
Case Is = "M": course = "Monte"
End Select
dlg = Worksheets(course).Range("A65536").End(xlUp).Row + 1
Range(Cells(cel.Row, 1), Cells(cel.Row, 7)).Copy Worksheets(course).Range("A" & dlg)
Next
Sheets("Courses").Range("A2:G" & Range("A65536").End(xlUp).Row).ClearContents
End Sub



cordialement
 

Pièces jointes

Re : filtré et copier dans d'autres fenetres les filtres

Bonjour


Et comme ceci ca donne quoi ?

PS: j'ai supprimé les lignes sur chaque feuille avant de lancer la macro

Code:
Sub copie()
'Macro dan pour Pat76
'http://www.excel-pratique.com/forum/viewtopic.php?t=13584
Dim plage As Range, cel As Range, course$
Set plage = Sheets("Courses").Range("C2:C" & Sheets("Courses").Range("C65536").End(xlUp).Row)
For Each cel In plage
Select Case cel
Case Is = "T"
course = "Trot"
Case Is = "O"
course = "Obstacle"
Case Is = "P"
course = "Plat"
Case Is = "M"
course = "Monte"
Case Else
'
End Select
Range(Cells(cel.Row, 1), Cells(cel.Row, 7)).Copy Worksheets(course).Range("A65536").End(xlUp)(2)
Next
Sheets("Courses").Range("A2:G" & Range("A65536").End(xlUp).Row).ClearContents
End Sub
 
Dernière édition:
Re : filtré et copier dans d'autres fenetres les filtres

bonjour ;

meme problème, si la letre de la 1er ligne (C2) n'est pas egale a (T,O,P,M) la macro ne marche pas, et si la cellule C2 est égale a (T,O,P,M) et le cellule d'aprés est diffirente elle se classe dans la mème feuil, alors normalement il doit pas la prendre en charge dé qu'elle est difirente !


Cordialement
 
Re : filtré et copier dans d'autres fenetres les filtres

bonjour Amieur,Staple
test sur course
ds les feuilles TOPM, laisser colonne A libre pour dlg
Sub copie()
'Macro dan pour Pat76
'http://www.excel-pratique.com/forum/viewtopic.php?t=13584
Dim plage As Range, cel As Range
Dim dlg As Integer
Set plage = Range("C2:C" & Range("C65536").End(xlUp).Row)
For Each cel In plage
course = ""
Select Case cel
Case Is = "T": course = "Trot"
Case Is = "O": course = "Obstacle"
Case Is = "P": course = "Plat"
Case Is = "M": course = "Monte"
End Select
If course <> "" Then
dlg = Worksheets(course).Range("A65536").End(xlUp).Row + 1
Range(Cells(cel.Row, 1), Cells(cel.Row, 7)).Copy Worksheets(course).Range("A" & dlg)
End If
Next
Sheets("Courses").Range("A2:G" & Range("A65536").End(xlUp).Row).ClearContents
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
832
Réponses
3
Affichages
880
Retour