mythiac
Messages postés72Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention23 février 2009
-
10 déc. 2008 à 11:59
mythiac
Messages postés72Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention23 février 2009
-
10 déc. 2008 à 13:58
bonjour,
j'aurai besoin d'un coup de main pour un filtre pour des dates.
Je procède en copiant ma base de données sur une page intermédiaire dans un premier temps,
j'effectue un filtre selon une immatriculation en suite
Je copie la selection visible de cette nouvelle base de donnée dans une nouvelle page intermédiaire
puis j'essaie d'effectuer un nouveau filtre en fonction de la date.
Le premier filtre fonctionne très bien, c'est pour la date que ça n'affiche rien en résultat, je pense que c'est en fonction du supérieur à ">" sachant que ma date est tirée d'une combobox, et que la date est le résultat d'une formule excel =DATE(I6;I4;I2) réalisée par les premières textbox 1 à 6 située dans la case Feuil9.Range("i16")
voici mon code:
Private Sub CommandButton1_Click()
'fixe la saisie des dates
Feuil9.Range("i2").Value = TextBox1.Value
Feuil9.Range("i4").Value = TextBox2.Value
Feuil9.Range("i6").Value = TextBox3.Value
Feuil9.Range("i8").Value = TextBox4.Value
Feuil9.Range("i10").Value = TextBox5.Value
Feuil9.Range("i12").Value = TextBox6.Value
'date:
'debut: j1/m1/a1
'fin: j2/m2/a2
Dim j1 As Variant
Dim j2 As Variant
Dim m1 As Variant
Dim m2 As Variant
Dim a1 As Variant
Dim a2 As Variant
j1 = j1 + 1
j2 = j2 + 1
m1 = m1 + 1
m2 = m2 + 1
a1 = a1 + 1
a2 = a2 + 1
If TextBox1.Value <> "" Then
j1 = Feuil9.Range("i2").Value
End If
If TextBox2.Value <> "" Then
m1 = Feuil9.Range("i4").Value
End If
If TextBox3.Value <> "" Then
a1 = Feuil9.Range("i6").Value
End If
If TextBox4.Value <> "" Then
j2 = Feuil9.Range("i8").Value
End If
If TextBox5.Value <> "" Then
m2 = Feuil9.Range("i10").Value
End If
If TextBox6.Value <> "" Then
a2 = Feuil9.Range("i12").Value
End If
'copy de la totalité de la feuille carburant en feuille intermediaire pour filtrage
Feuil12.Cells.Clear
Feuil11.Rows.Copy
Feuil12.Select
Feuil12.Rows.Select
Feuil12.Paste
'nettoyage des pages intermediaires
Feuil2.Cells.Clear
Feuil3.Cells.Clear
'critère de selection immatriculation
Dim Bselect As Range
'les filtres sont sur la ligne 1
Feuil12.Range("A1").Select
Set Cselect = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
Cselect.Copy
Debug.Print Cselect.Address
Feuil2.Select
Feuil2.Rows.Select
Feuil2.Paste
UserForm3.Hide
UserForm11.Show
End Sub
merci par avance, et pour information, je vais faire cette meme opération de filtrage une troisième fois pour les dates inférieures ( autrement dit pour faire "entre le" et "le"), si vous connaissez la manière de faire d'une pierre 2 coup dans ce filtrage, merci encore plus...