OVH Cloud OVH Cloud

Manipuler des filtres

4 réponses
Avatar
Lustrucru
Bonjour,
J'ai mis en place Un filtre sur une feuille de calcul (feuille 2) à travers
un controle"combobox" mis en place sur la feuille 1

1 Set w = Worksheets("feuil2")
2 w.Cells.AutoFilter field:=2, Criteria1:=ComboBox4.Text

Je récupere le résultat de mon filtre comme ceci :

3 Set Destination = Cells.Range("a18") 'destination feuille1
4 Dim MaPlage As Range
5 Set MaPlage = Sheets("feuil2").AutoFilter.Range'représente les données
filtrées et les titres.
'représente seulement les données
6 Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Rows.Count)
7 MaPlage.Copy Destination

Ma(mes) question(s) est la suivante :
1 comment annuler le filtre (Code dans un commandbutton par exemple)
2 je souhaite récuperer le résultat du filtre dans un controle nommé
"Spreadsheet1
que je n'arrive pas à faire fonctionner car je ne comprend pas son
fonctionnement.

Merci d'avance à toutes et à tous pour l'aide que vous apporterez à un
béotien de la programation

4 réponses

Avatar
anonymousA
Bonjour,

t'es sur de ta proc. Un exemple avec un filtre sur la plage A1:A5.
Regarde ce que te donne ton code.

Par ailleurs, pour invalider le filtre cells.autofilter ou
selection.autofilter si on est sur la feuille active bien sur, suffira

Enfin, l'utilisation d'un spreadsheet est possible mais pas forcément
très pratique.

un exemple que je n'ai pas fait tourner depuis longtemps donc peut
comporter des adapatations

With ActiveWorkbook.Sheets("Feuil2")
Set plageXval = .Range(.Cells(2, 1), .Cells(2, 22))
Set plageYval = .Range(.Cells(3, 1), .Cells(3, 22))
Set plageleg = .Cells(1, 1)
End With

'on prépare le spreadsheet

With Spreadsheet1
.Cells.Clear
.AllowPropertyToolbox = True
End With

'on passe au spreadsheet les élements. Pas possible ici d'employer la
'méthode plageXval.copy Spreadsheet1.ActiveSheet.cells(2,1) directement

With Spreadsheet1.ActiveSheet
plageXval.Copy
.Cells(plageXval.Cells(1).Row, plageXval.Cells(1).Column).Paste 'on
copie sur le spreadsheet
'ou .Cells(2, 1).Paste
plageYval.Copy
.Cells(plageYval.Cells(1).Row, plageYval.Cells(1).Column).Paste
plageleg.Copy
.Cells(plageleg.Cells(1).Row, plageleg.Cells(1).Column).Paste
End With

A+

Bonjour,
J'ai mis en place Un filtre sur une feuille de calcul (feuille 2) à travers
un controle"combobox" mis en place sur la feuille 1

1 Set w = Worksheets("feuil2")
2 w.Cells.AutoFilter field:=2, Criteria1:=ComboBox4.Text

Je récupere le résultat de mon filtre comme ceci :

3 Set Destination = Cells.Range("a18") 'destination feuille1
4 Dim MaPlage As Range
5 Set MaPlage = Sheets("feuil2").AutoFilter.Range'représente les données
filtrées et les titres.
'représente seulement les données
6 Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Rows.Count)
7 MaPlage.Copy Destination

Ma(mes) question(s) est la suivante :
1 comment annuler le filtre (Code dans un commandbutton par exemple)
2 je souhaite récuperer le résultat du filtre dans un controle nommé
"Spreadsheet1
que je n'arrive pas à faire fonctionner car je ne comprend pas son
fonctionnement.

Merci d'avance à toutes et à tous pour l'aide que vous apporterez à un
béotien de la programation


Avatar
Lustrucru
Merci,
je vais tester ton code. En ce qui concerne l'annulation des filtres de la
feuille2, je veux le faire à partir de ma feuille 1 , qu'elle est la syntaxe
?


merci pour aide précieuse


"anonymousA" wrote:

Bonjour,

t'es sur de ta proc. Un exemple avec un filtre sur la plage A1:A5.
Regarde ce que te donne ton code.

Par ailleurs, pour invalider le filtre cells.autofilter ou
selection.autofilter si on est sur la feuille active bien sur, suffira

Enfin, l'utilisation d'un spreadsheet est possible mais pas forcément
très pratique.

un exemple que je n'ai pas fait tourner depuis longtemps donc peut
comporter des adapatations

With ActiveWorkbook.Sheets("Feuil2")
Set plageXval = .Range(.Cells(2, 1), .Cells(2, 22))
Set plageYval = .Range(.Cells(3, 1), .Cells(3, 22))
Set plageleg = .Cells(1, 1)
End With

'on prépare le spreadsheet

With Spreadsheet1
.Cells.Clear
.AllowPropertyToolbox = True
End With

'on passe au spreadsheet les élements. Pas possible ici d'employer la
'méthode plageXval.copy Spreadsheet1.ActiveSheet.cells(2,1) directement

With Spreadsheet1.ActiveSheet
plageXval.Copy
.Cells(plageXval.Cells(1).Row, plageXval.Cells(1).Column).Paste 'on
copie sur le spreadsheet
'ou .Cells(2, 1).Paste
plageYval.Copy
.Cells(plageYval.Cells(1).Row, plageYval.Cells(1).Column).Paste
plageleg.Copy
.Cells(plageleg.Cells(1).Row, plageleg.Cells(1).Column).Paste
End With

A+

Bonjour,
J'ai mis en place Un filtre sur une feuille de calcul (feuille 2) à travers
un controle"combobox" mis en place sur la feuille 1

1 Set w = Worksheets("feuil2")
2 w.Cells.AutoFilter field:=2, Criteria1:=ComboBox4.Text

Je récupere le résultat de mon filtre comme ceci :

3 Set Destination = Cells.Range("a18") 'destination feuille1
4 Dim MaPlage As Range
5 Set MaPlage = Sheets("feuil2").AutoFilter.Range'représente les données
filtrées et les titres.
'représente seulement les données
6 Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Rows.Count)
7 MaPlage.Copy Destination

Ma(mes) question(s) est la suivante :
1 comment annuler le filtre (Code dans un commandbutton par exemple)
2 je souhaite récuperer le résultat du filtre dans un controle nommé
"Spreadsheet1
que je n'arrive pas à faire fonctionner car je ne comprend pas son
fonctionnement.

Merci d'avance à toutes et à tous pour l'aide que vous apporterez à un
béotien de la programation





Avatar
anonymousA
Sheets("Feuil2").Cells.AutoFilter

A+

Merci,
je vais tester ton code. En ce qui concerne l'annulation des filtres de la
feuille2, je veux le faire à partir de ma feuille 1 , qu'elle est la syntaxe
?


merci pour aide précieuse


"anonymousA" wrote:


Bonjour,

t'es sur de ta proc. Un exemple avec un filtre sur la plage A1:A5.
Regarde ce que te donne ton code.

Par ailleurs, pour invalider le filtre cells.autofilter ou
selection.autofilter si on est sur la feuille active bien sur, suffira

Enfin, l'utilisation d'un spreadsheet est possible mais pas forcément
très pratique.

un exemple que je n'ai pas fait tourner depuis longtemps donc peut
comporter des adapatations

With ActiveWorkbook.Sheets("Feuil2")
Set plageXval = .Range(.Cells(2, 1), .Cells(2, 22))
Set plageYval = .Range(.Cells(3, 1), .Cells(3, 22))
Set plageleg = .Cells(1, 1)
End With

'on prépare le spreadsheet

With Spreadsheet1
.Cells.Clear
.AllowPropertyToolbox = True
End With

'on passe au spreadsheet les élements. Pas possible ici d'employer la
'méthode plageXval.copy Spreadsheet1.ActiveSheet.cells(2,1) directement

With Spreadsheet1.ActiveSheet
plageXval.Copy
.Cells(plageXval.Cells(1).Row, plageXval.Cells(1).Column).Paste 'on
copie sur le spreadsheet
'ou .Cells(2, 1).Paste
plageYval.Copy
.Cells(plageYval.Cells(1).Row, plageYval.Cells(1).Column).Paste
plageleg.Copy
.Cells(plageleg.Cells(1).Row, plageleg.Cells(1).Column).Paste
End With

A+


Bonjour,
J'ai mis en place Un filtre sur une feuille de calcul (feuille 2) à travers
un controle"combobox" mis en place sur la feuille 1

1 Set w = Worksheets("feuil2")
2 w.Cells.AutoFilter field:=2, Criteria1:=ComboBox4.Text

Je récupere le résultat de mon filtre comme ceci :

3 Set Destination = Cells.Range("a18") 'destination feuille1
4 Dim MaPlage As Range
5 Set MaPlage = Sheets("feuil2").AutoFilter.Range'représente les données
filtrées et les titres.
'représente seulement les données
6 Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Rows.Count)
7 MaPlage.Copy Destination

Ma(mes) question(s) est la suivante :
1 comment annuler le filtre (Code dans un commandbutton par exemple)
2 je souhaite récuperer le résultat du filtre dans un controle nommé
"Spreadsheet1
que je n'arrive pas à faire fonctionner car je ne comprend pas son
fonctionnement.

Merci d'avance à toutes et à tous pour l'aide que vous apporterez à un
béotien de la programation







Avatar
Lustrucru
merci
encore une pt'ite question?
comment fait-on pour "évaluer" (c'est ma première demande) les réponses aux
questions posées ?
je suis très vieille école mais j'aime bien rendre à Cesar ce qui lui
appartient

A+



Sheets("Feuil2").Cells.AutoFilter

A+

Merci,
je vais tester ton code. En ce qui concerne l'annulation des filtres de la
feuille2, je veux le faire à partir de ma feuille 1 , qu'elle est la syntaxe
?


merci pour aide précieuse


"anonymousA" wrote:


Bonjour,

t'es sur de ta proc. Un exemple avec un filtre sur la plage A1:A5.
Regarde ce que te donne ton code.

Par ailleurs, pour invalider le filtre cells.autofilter ou
selection.autofilter si on est sur la feuille active bien sur, suffira

Enfin, l'utilisation d'un spreadsheet est possible mais pas forcément
très pratique.

un exemple que je n'ai pas fait tourner depuis longtemps donc peut
comporter des adapatations

With ActiveWorkbook.Sheets("Feuil2")
Set plageXval = .Range(.Cells(2, 1), .Cells(2, 22))
Set plageYval = .Range(.Cells(3, 1), .Cells(3, 22))
Set plageleg = .Cells(1, 1)
End With

'on prépare le spreadsheet

With Spreadsheet1
.Cells.Clear
.AllowPropertyToolbox = True
End With

'on passe au spreadsheet les élements. Pas possible ici d'employer la
'méthode plageXval.copy Spreadsheet1.ActiveSheet.cells(2,1) directement

With Spreadsheet1.ActiveSheet
plageXval.Copy
.Cells(plageXval.Cells(1).Row, plageXval.Cells(1).Column).Paste 'on
copie sur le spreadsheet
'ou .Cells(2, 1).Paste
plageYval.Copy
.Cells(plageYval.Cells(1).Row, plageYval.Cells(1).Column).Paste
plageleg.Copy
.Cells(plageleg.Cells(1).Row, plageleg.Cells(1).Column).Paste
End With

A+


Bonjour,
J'ai mis en place Un filtre sur une feuille de calcul (feuille 2) à travers
un controle"combobox" mis en place sur la feuille 1

1 Set w = Worksheets("feuil2")
2 w.Cells.AutoFilter field:=2, Criteria1:=ComboBox4.Text

Je récupere le résultat de mon filtre comme ceci :

3 Set Destination = Cells.Range("a18") 'destination feuille1
4 Dim MaPlage As Range
5 Set MaPlage = Sheets("feuil2").AutoFilter.Range'représente les données
filtrées et les titres.
'représente seulement les données
6 Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Rows.Count)
7 MaPlage.Copy Destination

Ma(mes) question(s) est la suivante :
1 comment annuler le filtre (Code dans un commandbutton par exemple)
2 je souhaite récuperer le résultat du filtre dans un controle nommé
"Spreadsheet1
que je n'arrive pas à faire fonctionner car je ne comprend pas son
fonctionnement.

Merci d'avance à toutes et à tous pour l'aide que vous apporterez à un
béotien de la programation