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

Filtre elaboré dynamique

7 réponses
Avatar
BV
Bonjour =E0 tous et encore merci =E0 FFO et LSTEPH pour leur r=E9ponses =E0
mon post pr=E9c=E9dent

Je souhaiterais proc=E9der =E0 un filtre =E9labor=E9 dont les plages de
crit=E8res et la cellule =E0 partir de laquelle les donn=E9es seraient
extraites seraient variables :
Si joint un bout de code pour vous expliquer :

j'ai d'abord saisi ce code pour r=E9cup=E9rer autoamtiquement la zone de
crit=E8res en fonction du nombre d'=E9l=E9ments contenus dans le champ :
fonctionne !
Sub autoselection()

'selection auto de la zone de crit=E8res
Range("A7").Select
Range(selection, selection.End(xlDown)).Select
End Sub


j'ai ensuite ce code pour placer automatiquement la s=E9lection (copier
dans), 5 lignes apr=E8s ma zone de crit=E8res

Sub position()
'position auto sur la derni=E8re cellule vide + 4 lignes
Cells(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1).Select
End Sub

et enfin ce code pour g=E9n=E9rer l'extraction (fonctionne en manu)
et c'est l=E0 o=F9 je bloque, je souhaiterais remplacer la zone de
crit=E8res et la zone de copie
par mes deux variables cr=E9es au dessus

Sub elabore()
Range("C28").Select
Range("DATA_CANDIDAT").AdvancedFilter Action:=3DxlFilterCopy,
CriteriaRange:=3D _
Range("A7:A26"), CopyToRange:=3DRange("A33"), Unique:=3DTrue
ActiveWindow.SmallScroll Down:=3D3
End Sub


principe, quelque soient le nombre de variables dans ma zone de
crit=E8res (15, 5 ou 20)
je puisse m'en servir comme s=E9lection et g=E9n=E9rer mon extraction 5
lignes en dessous


Merci d'avance pour vos conseils

BV

7 réponses

Avatar
LSteph
Bonjour,

Utilise une plage nommée ou une variable
que ce soit pour Critere ou Extraction
et surtout enlève ces selection et select de ton code et utilise
l'objet ou son adresse.


@+

--
lSteph

On 17 juil, 17:09, BV wrote:
Bonjour à tous et encore merci à FFO et LSTEPH pour leur réponses à
mon post précédent

Je souhaiterais procéder à un filtre élaboré dont les plages de
critères et la cellule à partir de laquelle les données seraient
extraites seraient variables :
Si joint un bout de code pour vous expliquer :

j'ai d'abord saisi ce code pour récupérer autoamtiquement la zone de
critères en fonction du nombre d'éléments contenus dans le champ :
fonctionne !
Sub autoselection()

'selection auto de la zone de critères
    Range("A7").Select
    Range(selection, selection.End(xlDown)).Select
End Sub

j'ai ensuite ce code pour placer automatiquement la sélection (copier
dans), 5 lignes après ma zone de critères

Sub position()
'position auto sur la dernière cellule vide + 4 lignes
Cells(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1).Select
End Sub

et enfin ce code pour générer l'extraction (fonctionne en manu)
et c'est là où je bloque, je souhaiterais remplacer la zone de
critères et la zone de copie
par mes deux variables crées au dessus

Sub elabore()
    Range("C28").Select
    Range("DATA_CANDIDAT").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
        Range("A7:A26"), CopyToRange:=Range("A33"), Unique:=T rue
    ActiveWindow.SmallScroll Down:=3
End Sub

principe, quelque soient le nombre de variables dans ma zone de
critères (15, 5 ou 20)
je puisse m'en servir comme sélection et générer mon extraction 5
lignes en dessous

Merci d'avance pour vos conseils

BV


Avatar
FFO
Salut à toi

J'essaierai ainsi :

Range("DATA_CANDIDAT").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Range("A7", Range("A7").End(xlDown)),
CopyToRange:Îlls(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1),
Unique:=True
ActiveWindow.SmallScroll Down:=3


A tester !!!!

Dois moi des nouvelles !!!!!!
Avatar
BV
On 17 juil, 17:24, LSteph wrote:
Bonjour,

Utilise une plage nommée ou une variable
que ce soit pour Critere ou Extraction
et surtout enlève ces selection et select de ton code et utilise
l'objet ou son adresse.

@+

--
lSteph

On 17 juil, 17:09, BV wrote:



> Bonjour à tous et encore merci à FFO et LSTEPH pour leur réponses à
> mon post précédent

> Je souhaiterais procéder à un filtre élaboré dont les plages de
> critères et la cellule à partir de laquelle les données seraient
> extraites seraient variables :
> Si joint un bout de code pour vous expliquer :

> j'ai d'abord saisi ce code pour récupérer autoamtiquement la zone d e
> critères en fonction du nombre d'éléments contenus dans le champ :
> fonctionne !
> Sub autoselection()

> 'selection auto de la zone de critères
>     Range("A7").Select
>     Range(selection, selection.End(xlDown)).Select
> End Sub

> j'ai ensuite ce code pour placer automatiquement la sélection (copier
> dans), 5 lignes après ma zone de critères

> Sub position()
> 'position auto sur la dernière cellule vide + 4 lignes
> Cells(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1).Select
> End Sub

> et enfin ce code pour générer l'extraction (fonctionne en manu)
> et c'est là où je bloque, je souhaiterais remplacer la zone de
> critères et la zone de copie
> par mes deux variables crées au dessus

> Sub elabore()
>     Range("C28").Select
>     Range("DATA_CANDIDAT").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:= _
>         Range("A7:A26"), CopyToRange:=Range("A33"), Unique: =True
>     ActiveWindow.SmallScroll Down:=3
> End Sub

> principe, quelque soient le nombre de variables dans ma zone de
> critères (15, 5 ou 20)
> je puisse m'en servir comme sélection et générer mon extraction 5
> lignes en dessous

> Merci d'avance pour vos conseils

> BV- Masquer le texte des messages précédents -

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



j'avais pensé à déclarer des plages nommées mais le pbm c'est qu'el les
changent à chaque fois
elles ne sont pas fixes
Avatar
JB
Bonjour,

Nom de champ dynamique
Critere ÞCALER(Feuil1!$E$1;;;MAX(SI($E$2:$F$8<>"";LIGNE($E$2:$F$8);
0));2)

http://cjoint.com/?hrrPVUtKeN

JB
http://boisgontierjacques.free.fr
On 17 juil, 17:09, BV wrote:
Bonjour à tous et encore merci à FFO et LSTEPH pour leur réponses à
mon post précédent

Je souhaiterais procéder à un filtre élaboré dont les plages de
critères et la cellule à partir de laquelle les données seraient
extraites seraient variables :
Si joint un bout de code pour vous expliquer :

j'ai d'abord saisi ce code pour récupérer autoamtiquement la zone de
critères en fonction du nombre d'éléments contenus dans le champ :
fonctionne !
Sub autoselection()

'selection auto de la zone de critères
    Range("A7").Select
    Range(selection, selection.End(xlDown)).Select
End Sub

j'ai ensuite ce code pour placer automatiquement la sélection (copier
dans), 5 lignes après ma zone de critères

Sub position()
'position auto sur la dernière cellule vide + 4 lignes
Cells(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1).Select
End Sub

et enfin ce code pour générer l'extraction (fonctionne en manu)
et c'est là où je bloque, je souhaiterais remplacer la zone de
critères et la zone de copie
par mes deux variables crées au dessus

Sub elabore()
    Range("C28").Select
    Range("DATA_CANDIDAT").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
        Range("A7:A26"), CopyToRange:=Range("A33"), Unique:=T rue
    ActiveWindow.SmallScroll Down:=3
End Sub

principe, quelque soient le nombre de variables dans ma zone de
critères (15, 5 ou 20)
je puisse m'en servir comme sélection et générer mon extraction 5
lignes en dessous

Merci d'avance pour vos conseils

BV


Avatar
LSteph
...en supposant ici qu'il n'y a rien entre la zone d'extract
G13:H13et le critère G13 à ..n

Sub extrait()
Dim myr As Range
Set myr = Range("G1:G" & [G12].End(xlUp).Row)

Range("DatasC").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=myr, CopyToRange:=Range("G13:H13"), Unique:=True

End Sub

'lSteph

On 17 juil, 17:36, BV wrote:
On 17 juil, 17:24, LSteph wrote:





> Bonjour,

> Utilise une plage nommée ou une variable
> que ce soit pour Critere ou Extraction
> et surtout enlève ces selection et select de ton code et utilise
> l'objet ou son adresse.

> @+

> --
> lSteph

> On 17 juil, 17:09, BV wrote:

> > Bonjour à tous et encore merci à FFO et LSTEPH pour leur répons es à
> > mon post précédent

> > Je souhaiterais procéder à un filtre élaboré dont les plages de
> > critères et la cellule à partir de laquelle les données seraien t
> > extraites seraient variables :
> > Si joint un bout de code pour vous expliquer :

> > j'ai d'abord saisi ce code pour récupérer autoamtiquement la zone de
> > critères en fonction du nombre d'éléments contenus dans le cham p :
> > fonctionne !
> > Sub autoselection()

> > 'selection auto de la zone de critères
> >     Range("A7").Select
> >     Range(selection, selection.End(xlDown)).Select
> > End Sub

> > j'ai ensuite ce code pour placer automatiquement la sélection (copi er
> > dans), 5 lignes après ma zone de critères

> > Sub position()
> > 'position auto sur la dernière cellule vide + 4 lignes
> > Cells(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1).Select
> > End Sub

> > et enfin ce code pour générer l'extraction (fonctionne en manu)
> > et c'est là où je bloque, je souhaiterais remplacer la zone de
> > critères et la zone de copie
> > par mes deux variables crées au dessus

> > Sub elabore()
> >     Range("C28").Select
> >     Range("DATA_CANDIDAT").AdvancedFilter Action:=xlFilterCopy,
> > CriteriaRange:= _
> >         Range("A7:A26"), CopyToRange:=Range("A33"), Unique: =True
> >     ActiveWindow.SmallScroll Down:=3
> > End Sub

> > principe, quelque soient le nombre de variables dans ma zone de
> > critères (15, 5 ou 20)
> > je puisse m'en servir comme sélection et générer mon extraction 5
> > lignes en dessous

> > Merci d'avance pour vos conseils

> > BV- Masquer le texte des messages précédents -

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

j'avais pensé à déclarer des plages nommées mais le pbm c'est qu' elles
changent à chaque fois
elles ne sont pas fixes- Masquer le texte des messages précédents -

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


Avatar
BV
On 17 juil, 17:33, FFO wrote:
Salut à toi

J'essaierai ainsi :

Range("DATA_CANDIDAT").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Range("A7", Range("A7").End(xlDown)),
CopyToRange:Îlls(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1),
Unique:=True
ActiveWindow.SmallScroll Down:=3

A tester !!!!

Dois moi des nouvelles !!!!!!



GENIAL !!!!!!!!!
en fait j'étais parti sur quelque chose de similaire, mais je m'étais
trompé au niveau du 1er range
merci beaucoup
Avatar
BV
On 17 juil, 18:01, LSteph wrote:
...en supposant ici  qu'il n'y a rien entre la zone d'extract
G13:H13et le critère G13 à ..n

Sub extrait()
Dim myr As Range
Set myr = Range("G1:G" & [G12].End(xlUp).Row)

Range("DatasC").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=myr, CopyToRange:=Range("G13:H13"), Unique:=True

End Sub

   'lSteph

On 17 juil, 17:36, BV wrote:

> On 17 juil, 17:24, LSteph wrote:

> > Bonjour,

> > Utilise une plage nommée ou une variable
> > que ce soit pour Critere ou Extraction
> > et surtout enlève ces selection et select de ton code et utilise
> > l'objet ou son adresse.

> > @+

> > --
> > lSteph

> > On 17 juil, 17:09, BV wrote:

> > > Bonjour à tous et encore merci à FFO et LSTEPH pour leur répo nses à
> > > mon post précédent

> > > Je souhaiterais procéder à un filtre élaboré dont les plage s de
> > > critères et la cellule à partir de laquelle les données serai ent
> > > extraites seraient variables :
> > > Si joint un bout de code pour vous expliquer :

> > > j'ai d'abord saisi ce code pour récupérer autoamtiquement la zo ne de
> > > critères en fonction du nombre d'éléments contenus dans le ch amp :
> > > fonctionne !
> > > Sub autoselection()

> > > 'selection auto de la zone de critères
> > >     Range("A7").Select
> > >     Range(selection, selection.End(xlDown)).Select
> > > End Sub

> > > j'ai ensuite ce code pour placer automatiquement la sélection (co pier
> > > dans), 5 lignes après ma zone de critères

> > > Sub position()
> > > 'position auto sur la dernière cellule vide + 4 lignes
> > > Cells(ActiveSheet.Cells(7, 1).End(xlDown).Row + 5, 1).Select
> > > End Sub

> > > et enfin ce code pour générer l'extraction (fonctionne en manu)
> > > et c'est là où je bloque, je souhaiterais remplacer la zone de
> > > critères et la zone de copie
> > > par mes deux variables crées au dessus

> > > Sub elabore()
> > >     Range("C28").Select
> > >     Range("DATA_CANDIDAT").AdvancedFilter Action:=xlFilterCop y,
> > > CriteriaRange:= _
> > >         Range("A7:A26"), CopyToRange:=Range("A33"), Uniqu e:=True
> > >     ActiveWindow.SmallScroll Down:=3
> > > End Sub

> > > principe, quelque soient le nombre de variables dans ma zone de
> > > critères (15, 5 ou 20)
> > > je puisse m'en servir comme sélection et générer mon extracti on 5
> > > lignes en dessous

> > > Merci d'avance pour vos conseils

> > > BV- Masquer le texte des messages précédents -

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

> j'avais pensé à déclarer des plages nommées mais le pbm c'est q u'elles
> changent à chaque fois
> elles ne sont pas fixes- Masquer le texte des messages précédents -

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



Merci à tous pour vos réponses précieuses