OVH Cloud OVH Cloud

tri sur feuille

3 réponses
Avatar
JB
Bonsoir,

J'ai dans la feuille 1 des données que j'enregistre au fur et a mesure ex :
( Colonne A = N° de Cde - Colonne B=Nom Client - Colonne C= Date Commande
etc ..)

Je voudrai que dans la feuille 2 je retrouve uniquement les lignes dont la
date (colonne C ) est inférieur a 1 mois

Sachant qu'a chaque fois que j'ouvre ma feuille 2 les données sont à jour

Merci de votre aide

3 réponses

Avatar
j
si tes dates sont saisies dans l'ordre tu peux écrire en A1 de feuil2
=INDEX(Feuil1!A:A;LIGNE()+EQUIV(AUJOURDHUI()-30;Feuil1!$C:$C))
et recopier à droite et en bas sur le nombre de cellules souhaité
(c'est pas génial mais à défaut de mieux...)

--

http://jacxl.free.fr/



"JB" a écrit dans le message de news:
3fbbbd00$0$257$
Bonsoir,

J'ai dans la feuille 1 des données que j'enregistre au fur et a mesure ex
:

( Colonne A = N° de Cde - Colonne B=Nom Client - Colonne C= Date Commande
etc ..)

Je voudrai que dans la feuille 2 je retrouve uniquement les lignes dont la
date (colonne C ) est inférieur a 1 mois

Sachant qu'a chaque fois que j'ouvre ma feuille 2 les données sont à jour

Merci de votre aide




Avatar
AV
J'ai dans la feuille 1 des données que j'enregistre au fur et a mesure ex :
( Colonne A = N° de Cde - Colonne B=Nom Client - Colonne C= Date Commande
etc ..)
Je voudrai que dans la feuille 2 je retrouve uniquement les lignes dont la
date (colonne C ) est inférieur a 1 mois
Sachant qu'a chaque fois que j'ouvre ma feuille 2 les données sont à jour


Une solution par l'intermédiaire d'une proc évènementielle : un filtre sur
"Feuil1" à l'activation de "Feuil2"
Dans le module de "Feuil2" (à adapter et peaufiner ) :

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
On Error Resume Next
[A1].CurrentRegion.Clear
With Sheets("Feuil1")
.[C:C].AutoFilter Field:=1, Criteria1:=">=" & (Date - 30) * 1
.[A1].CurrentRegion.SpecialCells(xlCellTypeVisible).Copy ([A1])
.[A1].AutoFilter
End With
End Sub

AV

Merci de votre aide




Avatar
JB
super

merci


"AV" a écrit dans le message de news:

J'ai dans la feuille 1 des données que j'enregistre au fur et a mesure
ex :


( Colonne A = N° de Cde - Colonne B=Nom Client - Colonne C= Date
Commande


etc ..)
Je voudrai que dans la feuille 2 je retrouve uniquement les lignes dont
la


date (colonne C ) est inférieur a 1 mois
Sachant qu'a chaque fois que j'ouvre ma feuille 2 les données sont à
jour



Une solution par l'intermédiaire d'une proc évènementielle : un filtre sur
"Feuil1" à l'activation de "Feuil2"
Dans le module de "Feuil2" (à adapter et peaufiner ) :

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
On Error Resume Next
[A1].CurrentRegion.Clear
With Sheets("Feuil1")
.[C:C].AutoFilter Field:=1, Criteria1:=">=" & (Date - 30) * 1
.[A1].CurrentRegion.SpecialCells(xlCellTypeVisible).Copy ([A1])
.[A1].AutoFilter
End With
End Sub

AV

Merci de votre aide