Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alessandro

XLDnaute Occasionnel
Bonjour a tous
je voudrai extraire seulement les items avec date inferieur a exemple 29072009
et reporter les items dans un nouveau feuil
ci-joint vous trouverez un petit exemple

merci de votre attention

Alessandro
 

Pièces jointes

Re : filtre avec vba

Bonsoir,
Par macro, résultat en feuille2
Code:
Sub Filtre()
For i = 2 To Range("N65000").End(xlUp).Row
    tDate = Cells(i, 14)
    If Not IsDate(tDate) Then
    sDate = Array(Mid(tDate, 1, Len(tDate) - 6), Mid(tDate, Len(tDate) - 5, 2), Right(tDate, 4))
    Cells(i, 14) = CDate(Join(sDate, "/"))
    End If
Next
Sheets(2).Cells.Clear
Sheets("Feuil1").Range("A1:N" & Range("A65000").End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Sheets("Feuil1").Range("P1:P2"), CopyToRange:=Sheets(2).Range("A1"), Unique:=False

End Sub
Edit : je précise que j'ai pris la colonne N pour les dates, vu que l'on ne dispose d'aucune précision !
A+
kjin
 

Pièces jointes

Dernière édition:
Re : filtre avec vba

Bonsoir,

Sans modifier la BD.

Critère:=DATE(DROITE(N2;4);STXT(N2;3;2);GAUCHE(N2;2))<$R$2


Code:
Sub extrait()
    Sheets("Foglio1").[A1:N10000].AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Foglio1").Range("P1:P2"), CopyToRange:=Sheets("Foglio2").Range("A1")
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

Dernière édition:
Re : filtre avec vba

Bonsoir,
Par macro, résultat en feuille2
Code:
Sub Filtre()
For i = 2 To Range("N65000").End(xlUp).Row
    tDate = Cells(i, 14)
    If Not IsDate(tDate) Then
    sDate = Array(Mid(tDate, 1, Len(tDate) - 6), Mid(tDate, Len(tDate) - 5, 2), Right(tDate, 4))
    Cells(i, 14) = CDate(Join(sDate, "/"))
    End If
Next
Sheets(2).Cells.Clear
Sheets("Feuil1").Range("A1:N" & Range("A65000").End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Sheets("Feuil1").Range("P1:P2"), CopyToRange:=Sheets(2).Range("A1"), Unique:=False

End Sub
Edit : je précise que j'ai pris la colonne N pour les dates, vu que l'on ne dispose d'aucune précision !
A+
kjin

BONSOIR
merci beaucoup vous etes genial
alessandro
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
381
Réponses
4
Affichages
379
Réponses
6
Affichages
334
Retour