Autofilter - suite - suite

C

Christian

Guest
Bonjour au Forum,
Je reviens à mon problème. J'ai passé le week-end à chercher mais en vain ... . Je ne sais pas compresser le fichier à moins de 274 Ko. Comme les feuilles dépendent l'une de l'autre, je ne sais rien supprimer pour alléger. A moins que feuille par feuille?!?
Ne faudrait-il pas ajouter un critère ou préciser le premier critère pour éviter les écueils de la recherche vide ... Je ne sais plus et c'est dommage car le programme tourne super-bien sauf ça dans certaines circonstances ... I need somebody...


Copie de mon ancien courrier:


Bonjour au forum et à Bernard,
J'en reviens à ma question. J'ai testé la macro de Bernard mais elle ne passe pas! Je ne sais pas compresser mon fichier à moins de 274 Ko. En fait, en lisant bien dans le forum, j'ai vu que le problème revenait plusieurs fois: si la macro ne trouve pas le critère demandé, elle fait n'importe quoi! Il faudrait peut-être ajouter ajouter un 2ème critère certain mais je ne sais comment faire ...
Je reproduis mon ancien message et la réponse ci-dessous!
Merci d'avance ...

Bonjour à tous,
Dans le programme que j'ai réalisé, pour le classement par équipe, je fais intervenir une macro dont voici la partie pour le critère '1':
Application.ScreenUpdating = False
Sheets('EQ').Select
Range('B4:J607').Select
Selection.ClearContents
Range('B1:J1').Select
Sheets('AFFSS').Select
Range('B4').Select
Selection.AutoFilter Field:=6, Criteria1:='1'
Range('B5:J607').Select
Selection.Copy
Sheets('EQ').Select
Cells(4, 2).Select
ActiveSheet.Paste Destination:=ActiveCell
Range('B4').Select
Application.CutCopyMode = False
Range('B4:J13').Select
Selection.Sort Key1:=Range('J4'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range('B4:J607').Select
Range('B1:J1').Select
Sheets('AFFSS').Select
Selection.AutoFilter
Range('B1:J1').Select
Sheets('EQ').Select
Range('B1:J1').Select
Application.ScreenUpdating = True
J'ai encodé sur 60 équipes pour les grosses organisations. Il n'y a aucun problème sauf lorsque je n'ai que 11 équipes par exemple et que la dernière équipe encodée (critère 11) a des coureurs placés dans les 11 premiers (10 coureurs par équipe et une ligne vide entre pour la feuille de référence), alors, la macro ne trouve pas le critère '12' dans les résultats et me met une formule de référence non demandée à la place. La feuille AFFSS fait référence à la feuille CROSS (ordre d'arrivée) qui elle-même fait référence à 'ELEVES', feuille d'inscription. La formule en question fait référence à la feuille ELEVES!
J'espère être assez clair mais le programme est relativement complexe.
Je m'arrache les derniers cheveux et je ne comprends pas! Merci de votre aide
Christian


CBernardT


Utilisateur

XLDnaute Occasionnel
Messages: 473


Re:macro 'autofilter' - 14/10/2005 11:34
Bonjour Christian et le forum,

Laisses tes derniers cheveux tranquilles, ils n'y sont pour rien !

Je repris ta macro sans savoir ce que tu veux exactement :

Sheets('EQ').Select
Range('B1:J1').Select
Application.ScreenUpdating = False
With Sheets('EQ')
.Range('B4:J607').ClearContents
With Sheets('AFFSS')
.Range('B4').AutoFilter Field:=6, Criteria1:='1'
.Range('B5:J607').Copy
End With
Sheets('EQ').Range('B4').PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range('B4:J13').Sort Key1:=Range('J4'), Order1:=xlAscending, Header:=xlGuess
End With
Sheets('AFFSS').Range('B4').AutoFilter
Application.ScreenUpdating = True

Si tu peux mettre un fichier zippé de moins de 50Ko cela ferait avancer le chimilblick !

Cordialement

Bernard
:) :)
 

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 289
Membres
103 508
dernier inscrit
max5554