Recherche par plage de date

  • Initiateur de la discussion Initiateur de la discussion kaki31
  • Date de début Date de début

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 !

kaki31

XLDnaute Occasionnel
Bonjour le forum;

Je m'excuse, car j'ai posté mais avec un titre pas explicite, alors je reformule ma demande,voila mon probleme : comment puis je afficher dans (feuil2) les données d'une personne présentes sur (feuil1) entre deux dates .

Merci
 

Pièces jointes

Re : Recherche par plage de date

Re bonjour,

J'éspère que celà soit plus clair:

Code:
Option Compare Text
Sub essai()
Dim nom As String
Dim date_du As Date, date_au As Date
Dim liste_nom As Range, nom_x As Range, ajout As Range

'---------ici on vide le tableau si B7 est vide---------
If Not IsEmpty([B7]) Then Range([B7], [D65536].End(xlUp)).ClearContents

'---------affectation de valeurs aux variables--------
nom = [G2].Value
date_du = [G4].Value
date_au = [G5].Value
With Sheets("Feuil1")
    Set liste_nom = .Range(.[B4], .[B65536].End(xlUp))
End With

'-----pour chaque nom (variable "nom_x") de la liste de nom de la feuille 1--------
For Each nom_x In liste_nom
    If nom_x.Value = nom And nom_x.Offset(0, 3).Value >= date_du And nom_x.Offset(0, 3).Value <= date_au Then
        
'---- ajout correspond à la dernière ligne vide de la colonne B feuille 1 pour compléter le tableau-----
        Set ajout = [B65536].End(xlUp).Offset(1, 0)
'---- offset signifie décale de x ligne et de y colonne depuis la cellule "nom_x"
        ajout = nom_x.Offset(0, 2) '---- correspond à la colonne date d'aquit-----
        ajout.Offset(0, 1) = nom_x.Offset(0, 1) '---- correspond à la colonne N° Dossier-----
        ajout.Offset(0, 2) = nom_x.Offset(0, 4) '---- correspond à la colonne Valeur----
    End If
Next nom_x
End Sub
 
Re : Recherche par plage de date

Bonjour le forum;

Voila j'ai essayé d'adapter l'exemple de maco a mon tableaux mais sans réussite, je n'arrive pas a afficher dans feuil2, ça se complique pour moi car j'ai ajouter deux listes déroulantes ,je ne sais pas si ça marchera ?😕

Merci a vous;
 

Pièces jointes

Re : Recherche par plage de date

Re bonjour,

voici le code modifié:

Code:
Sub Etat()

Dim nom As String
Dim date_du As Date, date_au As Date
Dim liste_nom As Range, nom_x As Range, ajout As Range
If Not IsEmpty([B10]) Then Range([B10], [F65536].End(xlUp)).ClearContents
nom = [G2].Value
date_du = [G4].Value
date_au = [G5].Value
With Sheets("Feuil1")
    Set liste_nom = .Range(.[E2], .[E65536].End(xlUp))
End With
For Each nom_x In liste_nom
    If nom_x.Value = nom And nom_x.Offset(0, 2).Value >= date_du And nom_x.Offset(0, 2).Value <= date_au Then
        Set ajout = [B65536].End(xlUp).Offset(1, 0)
        ajout = nom_x.Offset(0, -4) 'Bon N°
        ajout.Offset(0, 1) = nom_x.Offset(0, 2) 'date de règlement
        ajout.Offset(0, 2) = nom_x.Offset(0, -2) 'acheteurs
        ajout.Offset(0, 3) = nom_x.Offset(0, -1) 'montants
        ajout.Offset(0, 4) = nom_x.Offset(0, 1) 'mode de règlement
    End If
Next nom_x
End Sub

Bon test
 
Re : Recherche par plage de date

Bonjour skoobi,

Merci pour votre pécieuse aide, j'ai remarqué durant l'affichage des situations réglée le BON n°5 n'est pas afficher,idem pour les impayés le BON N° 17,et le BON N° 2 pour les retours, une autre question n'est il pas possible de faire jouer les 03 listes déroulantes, c-a-d d'afficher au choix soit : (Reglé seul),(Impayé seul),(Retour seul),(Reglé & Retour),(Reglé & Impayé),(Retour & Impayé) ou (Reglé & Retour & Impayé).

Merci encore une fois.
 
- 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

Retour