Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraction de données sans doublons avec criteres

14 réponses
Avatar
Apitos
Bonjour,

Pour extraire des donn=E9es sans doublons avec criteres, j'ai utilis=E9 ce
code :

Sheets("Feuil1").Range("C1:C100").CurrentRegion.AdvancedFilter
Action:=3DxlFilterCopy, _
CriteriaRange:=3DRange("J1:J2"), CopyToRange:=3DRange("H1"),
Unique:=3DTrue

Mais le critere n'est pas respecte, imcomprehensile ou ignore.

Le critre est : Extraire tout les donn=E9es de la colonne C, avec
chacune une croix "x" dans la colonne D.

Merci.

10 réponses

1 2
Avatar
Philippe.R
Bonjour Apitos,
Sur un coup comme celui là, j'utiliserai plutôt le filtre automatique ;
l'enregistreur fournissant un code qui pourrait ressembler à :

Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="x"
Range("C1:D33").Select
Selection.Copy
Range("H1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

à adapter bien sur.
--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Apitos" a écrit dans le message de
news:
Bonjour,

Pour extraire des données sans doublons avec criteres, j'ai utilisé ce
code :

Sheets("Feuil1").Range("C1:C100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("H1"),
Unique:=True

Mais le critere n'est pas respecte, imcomprehensile ou ignore.

Le critre est : Extraire tout les données de la colonne C, avec
chacune une croix "x" dans la colonne D.

Merci.
Avatar
JB
Bonjour,

Sub essai()
Sheets("Feuil1").Range("A1:D100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("H1"),
Unique:=True

End Sub

En J2: Ò="x"

http://cjoint.com/?ldkjZVsZLk

JB
http://boisgontierjacques.free.fr


On 3 nov, 09:50, Apitos wrote:
Bonjour,

Pour extraire des données sans doublons avec criteres, j'ai utilisé ce
code :

Sheets("Feuil1").Range("C1:C100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("H1"),
Unique:=True

Mais le critere n'est pas respecte, imcomprehensile ou ignore.

Le critre est : Extraire tout les données de la colonne C, avec
chacune une croix "x" dans la colonne D.

Merci.


Avatar
Apitos
Bonjour JB, Phillipe;

JB : J'ai deja utilisé ton critère mais ça ne marchait plus.

Peut-être que j'ai loope un détail.

Bon, dans mon code j'aimerais avoir seulement les lignes de la
colonne C dans la deuxieme feuille :

Sheets("Feuil1").Range("C1:C100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("H1"),
Unique:=True

Mais la données respectives de la colonne D sont également copiées !!!
Pourquoi ?

Il ne sont pas utilent pou le traitement.

Phillipe : Je garderais ton code ou cas ou ... :-)

Merci.
Avatar
JB
En H1, il faut le libellé que la colonne à récupérer:

Sheets("Feuil1").[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("feuil2").[J1:J2],
CopyToRange:=Sheets("feuil2").[H1], Unique:=True

http://cjoint.com/?ldlRxdgUoT

JB


On 3 nov, 10:45, Apitos wrote:
Bonjour JB, Phillipe;

JB : J'ai deja utilisé ton critère mais ça ne marchait plus.

Peut-être que j'ai loope un détail.

Bon, dans mon code j'aimerais avoir seulement les lignes de la
colonne C dans la deuxieme feuille :

Sheets("Feuil1").Range("C1:C100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("H1"),
Unique:=True

Mais la données respectives de la colonne D sont également copiées !!!
Pourquoi ?

Il ne sont pas utilent pou le traitement.

Phillipe : Je garderais ton code ou cas ou ... :-)

Merci.


Avatar
JB
http://cjoint.com/?ldlVsrogX4

Sheets("Feuil1").[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("feuil1").[J1:J2],
CopyToRange:=Sheets("feuil2").[H1], Unique:=True



JB


On 3 nov, 11:43, JB wrote:
En H1, il faut le libellé que la colonne à récupérer:

Sheets("Feuil1").[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("feuil2").[J1:J2],
CopyToRange:=Sheets("feuil2").[H1], Unique:=True

http://cjoint.com/?ldlRxdgUoT

JB

On 3 nov, 10:45, Apitos wrote:



Bonjour JB, Phillipe;

JB : J'ai deja utilisé ton critère mais ça ne marchait plus.

Peut-être que j'ai loope un détail.

Bon, dans mon code j'aimerais avoir seulement les lignes de la
colonne C dans la deuxieme feuille :

Sheets("Feuil1").Range("C1:C100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("H1"),
Unique:=True

Mais la données respectives de la colonne D sont également copiée s !!!
Pourquoi ?

Il ne sont pas utilent pou le traitement.

Phillipe : Je garderais ton code ou cas ou ... :-)

Merci.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Apitos
Bonsoir JB,

En H1, il faut le libellé que la colonne à récupérer:





Je croyais que spécifier : Range("C1:C100") permettrait de dire à
Excel de ne copier que la colonne C.

Merci JB.


Avatar
JB
Bonsoir,

Range("C1:C100") dans le premier message spécifie la BD.
Il aurait fallu avoir au moins Range("C1:D100") pour avoir les 2
colonnes utilisées dans le filtre (C la zone extraite et D le critère
testé).

JB

On 3 nov, 20:00, Apitos wrote:
Bonsoir JB,

En H1, il faut le libellé que la colonne à récupérer:



Je croyais que spécifier : Range("C1:C100") permettrait de dire à
Excel de ne copier que la colonne C.

Merci JB.




Avatar
Apitos
Merci JB.

Une question : Comment puis-je faire pour utiliser la liste résultante
des Grp ainsi que celle de [J1:J2] comme critères pour copier les
colonnes A, B, D, E, F dans la Feuil2 ?

Sheets("Feuil1").Range("A1:G100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("?????"),
Unique:=True

Merci.
Avatar
Apitos
Petite correction :

Sheets("Feuil1").Range("A1:G100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("J1:J2"), CopyToRange:=Range("?????"),
Unique:=True


Je cherche comment devrais-être les deux critères :

Sheets("Feuil1").Range("A1:G100").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("?????"), CopyToRange:=Range("A4:E4"),
Unique:=True



Merci.

Avatar
Apitos
Re,

Bon voila le travail que je devrais avoir dans Feuil2. Il est présenté
dans la Feuil3 en phase finale.

http://cjoint.com/?ldwS4cOcXE

Merci.
1 2