Faire un tri d'après sélection et le coller dans autre feuillet

Résolu
Greenisthenewblue Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 Greenisthenewblue -
Bonjour à tous,

Je m'arrache les cheveux sur plusieurs posts où malgré mes recherches, je n'arrive pas à trouver la réponse.

Je souhaite faire avec VBA un tri dans une liste, et puis qu'il me copie-colle ces résultats dans le feuillet à côté. Les valeurs que je cherche sont dans la colonne I, et je voudrais qu'il repère ceux qui s'appellent ,Cst et ,Cst2.

Le problème c'est que chaque mois la liste varie et son nombre de lignes aussi, et que quand j'ai voulu faire une macro-type, il est resté sur le nombre de lignes original. Alors j'ai voulu lui donner un nombre bidon que je ne risque pas de dépasser (30 000). Mais là, comment dire, cela ne marche plus du tout !!
Y aurait-il une bonne âme pour m'aider, sachant que je développe depuis... Hier !

Merci d'avance pour votre aide...


Sub Macro2()
'
' Macro2 Macro
'

'
Selection.AutoFilter
ActiveSheet.Range("$A$1:$M$30000").AutoFilter Field:=9, Criteria1:= _
"=,CST", Operator:=xlOr, Criteria2:="=,CST2"
Range("A1:M30000").Select
Selection.Copy
Sheets.Add After:=ActiveSheet
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Cstetcst2"
End Sub
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Sub Macro2()
    Selection.AutoFilter
    adr = ActiveSheet.UsedRange.Address
    ActiveSheet.Range(adr).AutoFilter Field:=9, Criteria1:="=,CST", Operator:=xlOr, Criteria2:="=,CST2"
    ActiveSheet.UsedRange.Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Sheets("Feuil1").Select
    Sheets("Feuil1").Name = "Cstetcst2"
End Sub


Je pense que vous ne renommez pas le bon onglet, mais c'est vous qui voyez
0
Greenisthenewblue
 
Super fort ! Ça marche d'enfer, merci beaucoup !!
Si j'avais su j'aurais posté plus tôt !
Je vais de ce pas me documenter sur ce adr = ActiveSheet.UsedRange.Address qui résout le problème en un rien de temps.
Merci merci merci

(et effectivement, le tableau sur lequel je travaille est une extraction d'un logiciel, du coup l'onglet est déjà nommé et m'ouvre ensuite Feuil1).
0