Copier coller avec fonction tri

patrice -  
 patrice -
Bonjour,
je viens de réaliser une macro qui filtre ma feuille selon un critere , je fais un copier et je colle le résultat dans une autre feuille, ensuite je reviens dans la feuille initial et refait un tri , je reprend le resultat et je le colle dans une autre feuille ,etc....
lorsque je lance celle-ci, o surprise , je ne retrouve pas mes données.
Chercher l'erreur voici ma macro
Sub Dispatching()
'
' Dispatching Macro
'

'
Range("A2:W200").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$W$200").AutoFilter Field:=7, Criteria1:=">=300", _
Operator:=xlAnd, Criteria2:="<=399"
Range("A4:O400").Select
Selection.Copy
Sheets("Liège").Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Président Wallon").Select
ActiveWindow.ScrollRow = 371
ActiveWindow.ScrollRow = 369
ActiveWindow.ScrollRow = 367
ActiveWindow.ScrollRow = 365
ActiveWindow.ScrollRow = 362
ActiveWindow.ScrollRow = 360
ActiveWindow.ScrollRow = 356
ActiveWindow.ScrollRow = 354
ActiveWindow.ScrollRow = 347
ActiveWindow.ScrollRow = 339
ActiveWindow.ScrollRow = 337
ActiveWindow.ScrollRow = 328
ActiveWindow.ScrollRow = 326
ActiveWindow.ScrollRow = 319
ActiveWindow.ScrollRow = 315
ActiveWindow.ScrollRow = 305
ActiveWindow.ScrollRow = 300
ActiveWindow.ScrollRow = 291
ActiveWindow.ScrollRow = 279
ActiveWindow.ScrollRow = 276
ActiveWindow.ScrollRow = 265
ActiveWindow.ScrollRow = 261
ActiveWindow.ScrollRow = 252
ActiveWindow.ScrollRow = 248
ActiveWindow.ScrollRow = 240
ActiveWindow.ScrollRow = 237
ActiveWindow.ScrollRow = 230
ActiveWindow.ScrollRow = 222
ActiveWindow.ScrollRow = 219
ActiveWindow.ScrollRow = 209
ActiveWindow.ScrollRow = 205
ActiveWindow.ScrollRow = 198
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 1
Application.CutCopyMode = False
Selection.AutoFilter
Range("A2:W200").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$W$200").AutoFilter Field:=7, Criteria1:=">=600", _
Operator:=xlAnd, Criteria2:="<=699"
Range("A201:O400").Select
Selection.Copy
Sheets("Hainaut").Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Président Wallon").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWindow.ScrollRow = 373
ActiveWindow.ScrollRow = 372
ActiveWindow.ScrollRow = 370
ActiveWindow.ScrollRow = 369
ActiveWindow.ScrollRow = 367
ActiveWindow.ScrollRow = 364
ActiveWindow.ScrollRow = 362
ActiveWindow.ScrollRow = 357
ActiveWindow.ScrollRow = 355
ActiveWindow.ScrollRow = 350
ActiveWindow.ScrollRow = 348
ActiveWindow.ScrollRow = 341
ActiveWindow.ScrollRow = 333
ActiveWindow.ScrollRow = 330
ActiveWindow.ScrollRow = 323
ActiveWindow.ScrollRow = 318
ActiveWindow.ScrollRow = 310
ActiveWindow.ScrollRow = 307
ActiveWindow.ScrollRow = 297
ActiveWindow.ScrollRow = 294
ActiveWindow.ScrollRow = 282
ActiveWindow.ScrollRow = 271
ActiveWindow.ScrollRow = 267
ActiveWindow.ScrollRow = 256
ActiveWindow.ScrollRow = 252
ActiveWindow.ScrollRow = 241
ActiveWindow.ScrollRow = 236
ActiveWindow.ScrollRow = 226
ActiveWindow.ScrollRow = 214
ActiveWindow.ScrollRow = 211
ActiveWindow.ScrollRow = 199
ActiveWindow.ScrollRow = 195
ActiveWindow.ScrollRow = 184
ActiveWindow.ScrollRow = 180
ActiveWindow.ScrollRow = 169
ActiveWindow.ScrollRow = 165
ActiveWindow.ScrollRow = 151
ActiveWindow.ScrollRow = 137
ActiveWindow.ScrollRow = 132
ActiveWindow.ScrollRow = 118
ActiveWindow.ScrollRow = 114
ActiveWindow.ScrollRow = 104
ActiveWindow.ScrollRow = 99
ActiveWindow.ScrollRow = 89
ActiveWindow.ScrollRow = 85
ActiveWindow.ScrollRow = 75
ActiveWindow.ScrollRow = 65
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 49
ActiveWindow.ScrollRow = 42
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 23
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("A2:W200").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$W$200").AutoFilter Field:=7, Criteria1:=">=700", _
Operator:=xlAnd, Criteria2:="<=750"
Range("A201:O400").Select
Selection.Copy
Sheets("Brabant Wallon").Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Président Wallon").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWindow.ScrollRow = 377
ActiveWindow.ScrollRow = 376
ActiveWindow.ScrollRow = 375
ActiveWindow.ScrollRow = 374
ActiveWindow.ScrollRow = 371
ActiveWindow.ScrollRow = 370
ActiveWindow.ScrollRow = 366
ActiveWindow.ScrollRow = 363
ActiveWindow.ScrollRow = 360
ActiveWindow.ScrollRow = 354
ActiveWindow.ScrollRow = 352
ActiveWindow.ScrollRow = 344
ActiveWindow.ScrollRow = 342
ActiveWindow.ScrollRow = 334
ActiveWindow.ScrollRow = 331
ActiveWindow.ScrollRow = 323
ActiveWindow.ScrollRow = 313
ActiveWindow.ScrollRow = 309
ActiveWindow.ScrollRow = 299
ActiveWindow.ScrollRow = 295
ActiveWindow.ScrollRow = 284
ActiveWindow.ScrollRow = 280
ActiveWindow.ScrollRow = 268
ActiveWindow.ScrollRow = 259
ActiveWindow.ScrollRow = 255
ActiveWindow.ScrollRow = 244
ActiveWindow.ScrollRow = 241
ActiveWindow.ScrollRow = 229
ActiveWindow.ScrollRow = 225
ActiveWindow.ScrollRow = 214
ActiveWindow.ScrollRow = 209
ActiveWindow.ScrollRow = 196
ActiveWindow.ScrollRow = 181
ActiveWindow.ScrollRow = 175
ActiveWindow.ScrollRow = 164
ActiveWindow.ScrollRow = 159
ActiveWindow.ScrollRow = 146
ActiveWindow.ScrollRow = 141
ActiveWindow.ScrollRow = 128
ActiveWindow.ScrollRow = 119
ActiveWindow.ScrollRow = 114
ActiveWindow.ScrollRow = 104
ActiveWindow.ScrollRow = 100
ActiveWindow.ScrollRow = 91
ActiveWindow.ScrollRow = 88
ActiveWindow.ScrollRow = 78
ActiveWindow.ScrollRow = 76
ActiveWindow.ScrollRow = 67
ActiveWindow.ScrollRow = 59
ActiveWindow.ScrollRow = 56
ActiveWindow.ScrollRow = 49
ActiveWindow.ScrollRow = 47
ActiveWindow.ScrollRow = 41
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 33
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 16
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("A2:W200").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$W$200").AutoFilter Field:=7, Criteria1:=">=800", _
Operator:=xlAnd, Criteria2:="<=899"
Range("A201:O400").Select
Selection.Copy
Sheets("Namur").Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Président Wallon").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWindow.ScrollRow = 374
ActiveWindow.ScrollRow = 373
ActiveWindow.ScrollRow = 371
ActiveWindow.ScrollRow = 368
ActiveWindow.ScrollRow = 367
ActiveWindow.ScrollRow = 365
ActiveWindow.ScrollRow = 363
ActiveWindow.ScrollRow = 359
ActiveWindow.ScrollRow = 354
ActiveWindow.ScrollRow = 352
ActiveWindow.ScrollRow = 348
ActiveWindow.ScrollRow = 345
ActiveWindow.ScrollRow = 339
ActiveWindow.ScrollRow = 336
ActiveWindow.ScrollRow = 328
ActiveWindow.ScrollRow = 325
ActiveWindow.ScrollRow = 317
ActiveWindow.ScrollRow = 307
ActiveWindow.ScrollRow = 304
ActiveWindow.ScrollRow = 294
ActiveWindow.ScrollRow = 291
ActiveWindow.ScrollRow = 281
ActiveWindow.ScrollRow = 277
ActiveWindow.ScrollRow = 267
ActiveWindow.ScrollRow = 257
ActiveWindow.ScrollRow = 253
ActiveWindow.ScrollRow = 242
ActiveWindow.ScrollRow = 238
ActiveWindow.ScrollRow = 227
ActiveWindow.ScrollRow = 222
ActiveWindow.ScrollRow = 210
ActiveWindow.ScrollRow = 205
ActiveWindow.ScrollRow = 191
ActiveWindow.ScrollRow = 177
ActiveWindow.ScrollRow = 174
ActiveWindow.ScrollRow = 161
ActiveWindow.ScrollRow = 156
ActiveWindow.ScrollRow = 142
ActiveWindow.ScrollRow = 137
ActiveWindow.ScrollRow = 124
ActiveWindow.ScrollRow = 118
ActiveWindow.ScrollRow = 106
ActiveWindow.ScrollRow = 91
ActiveWindow.ScrollRow = 86
ActiveWindow.ScrollRow = 73
ActiveWindow.ScrollRow = 67
ActiveWindow.ScrollRow = 57
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("A2:W200").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$W$200").AutoFilter Field:=7, Criteria1:=">=900", _
Operator:=xlAnd, Criteria2:="<=999"
Range("A201:O400").Select
Selection.Copy
Sheets("Luxembourg").Select
Range("A4").Select
ActiveSheet.Paste
Sheets("Président Wallon").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWindow.ScrollRow = 371
ActiveWindow.ScrollRow = 370
ActiveWindow.ScrollRow = 368
ActiveWindow.ScrollRow = 367
ActiveWindow.ScrollRow = 364
ActiveWindow.ScrollRow = 362
ActiveWindow.ScrollRow = 357
ActiveWindow.ScrollRow = 355
ActiveWindow.ScrollRow = 348
ActiveWindow.ScrollRow = 340
ActiveWindow.ScrollRow = 336
ActiveWindow.ScrollRow = 326
ActiveWindow.ScrollRow = 322
ActiveWindow.ScrollRow = 313
ActiveWindow.ScrollRow = 308
ActiveWindow.ScrollRow = 296
ActiveWindow.ScrollRow = 291
ActiveWindow.ScrollRow = 276
ActiveWindow.ScrollRow = 258
ActiveWindow.ScrollRow = 252
ActiveWindow.ScrollRow = 237
ActiveWindow.ScrollRow = 231
ActiveWindow.ScrollRow = 214
ActiveWindow.ScrollRow = 209
ActiveWindow.ScrollRow = 193
ActiveWindow.ScrollRow = 177
ActiveWindow.ScrollRow = 172
ActiveWindow.ScrollRow = 159
ActiveWindow.ScrollRow = 154
ActiveWindow.ScrollRow = 141
ActiveWindow.ScrollRow = 136
ActiveWindow.ScrollRow = 124
ActiveWindow.ScrollRow = 119
ActiveWindow.ScrollRow = 106
ActiveWindow.ScrollRow = 91
ActiveWindow.ScrollRow = 85
ActiveWindow.ScrollRow = 74
ActiveWindow.ScrollRow = 71
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 56
ActiveWindow.ScrollRow = 47
ActiveWindow.ScrollRow = 37
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 24
ActiveWindow.ScrollRow = 18
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
Range("A4").Select
End Sub

Merci d'avance
A voir également:

6 réponses

dandypunk Messages postés 838 Statut Membre 83
 
Pourrais tu laisser un lien sur ton fichier via https://www.cjoint.com/index.php afin que je puisse le déboguer.
0
patrice
 
merci de regarder à mon probléme
Mais je pense que le veritable probleme est de pouvoir selectionner le nombre de ligne valide et pas plusla macro a ete realiser sur un tableau partiel et le tri se fait sur le numero de section , je n'avais qu'un tri valable , les autres tris n'avaient que des cases vides;
J'espere que je parle clairement
A plus et merci
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 448
 
Bonjour
Doit effectivement y avoir des bugs dans la macro....
Vous pouvez déja supprimer toutes les lignes avec Scroll qui ne servent què'à faire clignoter les tableaux à l'exècution et ne simplifient pas l'analyse!
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 448
 
Re
Plus sérieusement:
je pense sauf erreur de ma part que votre macro ne renvoie pas le tableau à son origine à =chauqe Filtre....
Vous devriez terminer chaque phase en revant dans la feuille triée de filtre par la ligne
Selection.AutoFilter Field:=2 (n° 2=du filtre engagé par la phase de la macro, sans faire suivre de critère)
Cette igne va remettre voitre tableau dans sa forme d'origine, sinon, vous filtrez en successif et ça ne marche pas.
(je viens d'essayer)
CRDLMNT
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 448
 
Re encore une fois...
Votre message 3 confirme bien ce que je constate et explique avec mon message 3. En fait, vous avez du enregistrer votre macro sans remettre votre tableau au départ.
Nettoyez votre macro et rajouter entre chaque phase de filtre la ligne que je vous ai transmise.
Bonne chance
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 448
 
Petit complèment gratuit:
Si vous voulez que votre macro s'applique sans faire défiler toutes les feuilles à chaque manip (c'est désagréable) vous pouvez mettre en toute première ligne le code:
Application.Displayscreen=False
Le travail se fait en masqué.
A suivre?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
patrice
 
Merci,
Je n'ai pas trop de temps aujourd'hui, mais je m'y applique des demain à la premiére heurs
Merci de votre aude
Patrice
0
patrice
 
Merci,
De votre aide, aujourd'hui , je n'ai pas trop de temps a consacer à cela, mais je m'y attaque à la premiere heure demain
Bien amicalement
Patrice
0