XL 2013 Avoir la liste dans une date précise

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 !

Bonjour Lestoiles,
Un essai en PJ avec cette macro. La mise à jour est automatique lorsqu'on modifie la date en B1.
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B1]) Is Nothing Then
         Application.ScreenUpdating = False
         [A4:A1000].ClearContents
         Dim L&, Lw&: L = 2: Lw = 4
         With Sheets("details")
            While .Cells(L, "J") <> ""
                If Int(.Cells(L, "J")) = Target Then
                    Cells(Lw, "A") = .Cells(L, "A"): Lw = Lw + 1
                End If
                L = L + 1
            Wend
         End With
    End If
Fin:
End Sub
 

Pièces jointes

Bonjour Lestoiles,
Un essai en PJ avec cette macro. La mise à jour est automatique lorsqu'on modifie la date en B1.
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B1]) Is Nothing Then
         Application.ScreenUpdating = False
         [A4:A1000].ClearContents
         Dim L&, Lw&: L = 2: Lw = 4
         With Sheets("details")
            While .Cells(L, "J") <> ""
                If Int(.Cells(L, "J")) = Target Then
                    Cells(Lw, "A") = .Cells(L, "A"): Lw = Lw + 1
                End If
                L = L + 1
            Wend
         End With
    End If
Fin:
End Sub
Merci pour réponse mais y a t-il une formule au lieu d'un vba svp?
 
Bonjour lestoiles1, sylvanu, JHA,

Une autre solution avec le tableau source structuré et une colonne auxiliaire (à masquer) pour la liste de validation.

Formule matricielle en L2 de la 1ère feuille :
Code:
=SIERREUR(PETITE.VALEUR(SI(NON(NB.SI(L$1:L1;ENT([Date])));ENT([Date]));1);"")
Formule matricielle en A4 de la 2ème feuille :
Code:
=SIERREUR(INDEX(Tableau1[BARCODE];PETITE.VALEUR(SI(ENT(Tableau1[Date])=B$1;LIGNE(Tableau1)-1);LIGNE()-3));"")
Les 2 à valider par Ctrl+Maj+Entrée.

A+
 

Pièces jointes

- 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

Réponses
5
Affichages
104
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
159
Réponses
3
Affichages
116
Retour