Plutot filtrer que trier
Le
IMER09
Ma question precedente n'etait vraiment pas tres claire!!
Je voudrai filtrer les données de ma feuil1 pour les copier sur ma feuil2
je voudrai rendre ce filtrage un peu plus convivial qu'avec DONNEE/filtre
auto ou Filtre elabore
J'ai donc creer un UF avec 8CBX pour les 8 colonnes a filtrer
Quand les 8 cbx sont renseignés pas de probleme mais si je laisse une ou
plusieur CBX en blanc (parce que je ne veux pas filtrer sur ce ou ces
criteres) je ne recupere aucune donnée
Est ce que quelqu un aurait une idée
Une partie de mon code est le suivant:
Dim Ligne As Long, C As Range
Dim Rg As Range, A As Integer
With Sheets(ShDepart)
Ligne = .Range("A65536").End(xlUp).Row + 1
Set Rg = Range("AJ4", Range("AJ65536").End(xlUp))
For Each C In Rg
If C = ComboBox7 And C.Offset(, -33) = ComboBox1 _
And C.Offset(, -29) = ComboBox3 And C.Offset(, -30) = ComboBox4
And _
C.Offset(, -32) = ComboBox5 And C.Offset(, -31) = ComboBox6 And _
C.Offset(, -28) = ComboBox8 Then
For A = 1 To 41
.Cells(Ligne, A) = Cells(C.Row, A)
Next
Ligne = Ligne + 1
End If
Next
End with
Merci
--
IMER09
Je voudrai filtrer les données de ma feuil1 pour les copier sur ma feuil2
je voudrai rendre ce filtrage un peu plus convivial qu'avec DONNEE/filtre
auto ou Filtre elabore
J'ai donc creer un UF avec 8CBX pour les 8 colonnes a filtrer
Quand les 8 cbx sont renseignés pas de probleme mais si je laisse une ou
plusieur CBX en blanc (parce que je ne veux pas filtrer sur ce ou ces
criteres) je ne recupere aucune donnée
Est ce que quelqu un aurait une idée
Une partie de mon code est le suivant:
Dim Ligne As Long, C As Range
Dim Rg As Range, A As Integer
With Sheets(ShDepart)
Ligne = .Range("A65536").End(xlUp).Row + 1
Set Rg = Range("AJ4", Range("AJ65536").End(xlUp))
For Each C In Rg
If C = ComboBox7 And C.Offset(, -33) = ComboBox1 _
And C.Offset(, -29) = ComboBox3 And C.Offset(, -30) = ComboBox4
And _
C.Offset(, -32) = ComboBox5 And C.Offset(, -31) = ComboBox6 And _
C.Offset(, -28) = ComboBox8 Then
For A = 1 To 41
.Cells(Ligne, A) = Cells(C.Row, A)
Next
Ligne = Ligne + 1
End If
Next
End with
Merci
--
IMER09

Poser une question


Set Rg = Range("AJ4:AJ", Range("AJ65536").End(xlUp))
Mon code est bon et fonctionne si je renseigne toute les CBX , je fait donc
un filtre sur les 7 criteres. Le Pb c'est que je voudrai faire un filtre sur
parfois 2 criteres ,parfois 3, parfois 4 etc. Et le choix des 1,2,3,4, etc
critere peut etre different. Quand je ne renseigne pas les 7 cbx la copie sur
la feuil2 est blanche et c'est normal vu le code
Ma question est: est ce que quelqu'un ou une connaitrait une solution?
(un bout de code a ajouter pour ne prendre en compte que les CBX renseignées
et faire le filtre sur ces CBX par ex)
MERCI
--
IMER09
"Fredo P" wrote:
Remplace C = ComboBox7
par
(C = ComboBox7 Or ComboBox7 = "")
en n'oubliant pas les parenthèses
Remplace C.Offset(, -33) = ComboBox1
par
(C.Offset(, -33) = ComboBox1 Or ComboBox1 = "")
etc...
Mishell
"IMER09" news:
Je n'esperais plus avoir de reponse
Et en plus tout fonctionne parfaitement
GRD GRD MERCI
--
IMER09
"Mishell" wrote:
Mishell
"IMER09" news: