Bonjour à tous,
La macro suivante recherche dans une feuille(feuille 2) les dates plus petites ou égales à une date indiquée dans le textbox d'une boite de dialogue et copie la ligne trouvée dans une autre feuille (feuille1)
LA MACRO:
Private Sub CommandButton2_Click()
Dim WS As Variant
Dim Plage As Range
Dim Cherche, Adresse As String
Dim Ligne, Arrivee As Variant
Dim C As Object
Feuil1.Rows("7:65536").Delete
Cherche = TextBox1
Ligne = 7
If Cherche = "" Then Exit Sub
Range("F2").Value = Cherche
'
If IsDate(Cherche) Then
Range("F2").Value = " date < " & Format(CDate(Cherche), "dd/mm/yyyy")
Cherche = CDate(Cherche)
derligne = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row
For i = 3 To derligne
trouve = 0
If Sheets("Feuil2").Cells(i, "E").Value <= Cherche Then trouve = 1
If trouve = 1 Then
Worksheets("Feuil2").Range("a" & i & ":az" & i).Copy
Ligne = Feuil1.Range("" & "B" & "65536").End(xlUp).Row + 1
Range("B" & Ligne).PasteSpecial Paste:=xlValues
End If
Next
End If
...........
seulement , dans la colonne où elle recherche les dates il y a des cellules ou rien n'est inscrit et elle les prend je pense comme une date inférieure et cela je ne le veux pas : elle ne doit pas la prendre
J'ai essayé en mettant :
If Sheets("Feuil2").Cells(i, "E").Value = "" Then trouve = 0 (après Trouve=0)
mais ça ne marche pas
Pouvez -vous m'aider ??
En même temps je voudrais éliminer les dates inférieures dont l'année ne correspond pas avec l'année que saisit l'utilisateur ( exemple date inférieures au 30/03/2012 = 28/02/2012 ; 11/11/2011 etc... donc supprimer ligne du 11/11/2011 car 2011 ne correspond pas à l'année de la date indiquée 2012, autrement dit qu'elle ne prenne pas les dates antérieures au 01/01/année indiquée)
merci d'avance
Alain
La macro suivante recherche dans une feuille(feuille 2) les dates plus petites ou égales à une date indiquée dans le textbox d'une boite de dialogue et copie la ligne trouvée dans une autre feuille (feuille1)
LA MACRO:
Private Sub CommandButton2_Click()
Dim WS As Variant
Dim Plage As Range
Dim Cherche, Adresse As String
Dim Ligne, Arrivee As Variant
Dim C As Object
Feuil1.Rows("7:65536").Delete
Cherche = TextBox1
Ligne = 7
If Cherche = "" Then Exit Sub
Range("F2").Value = Cherche
'
If IsDate(Cherche) Then
Range("F2").Value = " date < " & Format(CDate(Cherche), "dd/mm/yyyy")
Cherche = CDate(Cherche)
derligne = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row
For i = 3 To derligne
trouve = 0
If Sheets("Feuil2").Cells(i, "E").Value <= Cherche Then trouve = 1
If trouve = 1 Then
Worksheets("Feuil2").Range("a" & i & ":az" & i).Copy
Ligne = Feuil1.Range("" & "B" & "65536").End(xlUp).Row + 1
Range("B" & Ligne).PasteSpecial Paste:=xlValues
End If
Next
End If
...........
seulement , dans la colonne où elle recherche les dates il y a des cellules ou rien n'est inscrit et elle les prend je pense comme une date inférieure et cela je ne le veux pas : elle ne doit pas la prendre
J'ai essayé en mettant :
If Sheets("Feuil2").Cells(i, "E").Value = "" Then trouve = 0 (après Trouve=0)
mais ça ne marche pas
Pouvez -vous m'aider ??
En même temps je voudrais éliminer les dates inférieures dont l'année ne correspond pas avec l'année que saisit l'utilisateur ( exemple date inférieures au 30/03/2012 = 28/02/2012 ; 11/11/2011 etc... donc supprimer ligne du 11/11/2011 car 2011 ne correspond pas à l'année de la date indiquée 2012, autrement dit qu'elle ne prenne pas les dates antérieures au 01/01/année indiquée)
merci d'avance
Alain