Selectionner une plage avec une condition

Bonjour,

Dans un fichier excel j'essaie de sélectionner une plage ou toutes les lignes en fonction d'une condition dans une colonne.

Un exemple pour mieux comprendre : https://www.excel-pratique.com/~files/doc/tTPOCtest.xls

Donc je voudrais sélectionner les lignes entières si la colonne C contient 1, de façon à les copier dans une autre feuille/classeur.

J'aurais besoin d'un coup de main, merci.

Bonjour CB60,

La macro est bien mais pas assez dynamique, je vais essayer de voir si je peux y remédier. Je ne connaissais pas encore cette méthode donc c'est intéressant.

Merci pour ta réponse.

re

La, les cellules sont figés (A1 et E17), mais la macro pourrais très bien géré une zone.

Exemple ( en fonction de ton classeur:

Au niveau de ta feuille dans le bandeau en haut tu fais

insertion,

nom,

definir

en haut tu écris " liste " ( c'est un exemple )

en bas tu écris pour la formule:

=decaler($a$1:$e$1;;;nbval($b$b))

ensuite dans la macro tu remplace:

Sub Macro2()

'tu remplace "Range("a1:e1") par Range("liste").

Range("liste").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _

"f1:f2"), CopyToRange:=Range("g1"), Unique:=False

End Sub

D'accord, je suis pas très à l'aise avec les filtres encore mais je vais m'y pencher.

J'ai trouvé un autre moyen d'y parvenir même si c'est pas exactement ce que j'ai demandé dans mon premier message :

Sub Macro1()

Dim Rw As Range
Dim lgn As Long
Sheets(2).Select
ActiveCell.SpecialCells(xlLastCell).Select
Range(Selection, Cells(1)).Select
lgn = 1
For Each Rw In Selection.Rows
    If Rw.Cells(1, 11).Value = 1 Then
            Rw.EntireRow.Copy Destination:=Workbooks("monfichier.xls").Sheets(1).Cells(lgn, 1)
            lgn = ligne + 1
    End If
Next Rw
End Sub

Merci pour ton aide.

Rechercher des sujets similaires à "selectionner plage condition"