Filtrer une colonne format date & heure avec un inputbox
bassmart
Messages postés
281
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je tente de réaliser une filtre sur une colonne (première colonne) à parti d'un "Inputbox" pour y inscrire l'année à filtrer, mais sans succès.
J'ai chercher pour trouvé une solution, j'ai réussi à filtrer l'année en cours et l'année précédente, mais pas avec l'option que l'utilisateur entre une année à filtrer à partir de l'Inputbox.
Voici mon code:
'Filtrer les lectures à partir de l'année '**************************************** DerLig = .Range("C" & Rows.Count).End(xlUp).Row DerCol = .Cells(2, .Cells.Columns.Count).End(xlToLeft).Column .AutoFilterMode = False 'Ouvrir le filtrer '***************** .Range("A4:A" & DerLig).AutoFilter 'Message pour choix de l'année. On peut traiter l'année en cours ou passée seulement '*********************************************************************************** If MsgBox("Voulez-vous traiter l'année ne cours?", vbQuestion + vbYesNo, "Traitement année") = vbYes Then .Range("A5:A" & DerLig).AutoFilter field:=1, Criteria1:=13, Operator:=11, Criteria2:=0, SubField:=0 ElseIf MsgBox("Voulez-vous traiter l'année passée?", vbQuestion + vbYesNo, "Traitement année") = vbYes Then .Range("A5:A" & DerLig).AutoFilter field:=1, Criteria1:=14, Operator:=11, Criteria2:=0, SubField:=0 ElseIf MsgBox("Voulez-vous traiter une autre année?", vbQuestion + vbYesNo, "Traitement année") = vbYes Then Critere = InputBox("Année à traiter") .Range("A5:A" & DerLig).AutoFilter field:=1, Criteria1:=Array(0, Critere) Else .AutoFilterMode = False End If .Range(Cells(1, 1), Cells(DerLig, DerCol)).Copy
J'ai essayer aussi avec ce code pour le critère 1, mais sans succès!
criteria1:="=" & Critere
Merci pour votre aide!
Windows / Chrome 120.0.0.0
A voir également:
- Filtrer une colonne format date & heure avec un inputbox
- Format epub - Guide
- Déplacer une colonne excel - Guide
- Format factory - Télécharger - Conversion & Codecs
- Format dat - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
2 réponses
Bonjour,
Inputbox avec control format date et heure. Il y a les secondes, mais vous pouvez les enlever
Sub test() Critere = AskForValidDateTime End Sub Private Function AskForValidDateTime() As Date Dim IsValid As Boolean Do Until IsValid Dim Result As Variant Result = Application.InputBox("Wat is de tijd dat het monster genomen is?" & vbNewLine & "Gebruik UU:MM" & vbNewLine & "Voorbeeld: 09:30", "Tijdnotatie") Dim SplitDateTime() As String 'split date from time SplitDateTime = Split(Result, " ") If UBound(SplitDateTime) = 1 Then Dim SplitDate() As String 'note the following code only works for dates entered in the format DD-MM-YYYY SplitDate = Split(SplitDateTime(0), "/") If UBound(SplitDate) = 2 Then Dim SplitTime() As String SplitTime = Split(SplitDateTime(1), ":") If UBound(SplitTime) = 1 Then If Val(SplitTime(0)) < 24 And Val(SplitTime(1)) < 60 Then IsValid = True 'note the following code only works for dates entered in the format DD-MM-YYYY AskForValidDateTime = DateSerial(Val(SplitDate(2)), Val(SplitDate(1)), Val(SplitDate(0))) + TimeSerial(Val(SplitTime(0)), Val(SplitTime(1)), 0) Exit Do End If End If End If End If MsgBox "Een correcte tijdsnotatie is nodig om door te gaan. Klik op" & vbNewLine & "<Ok> om de tijd opnieuw in te vullen", vbOKOnly + vbExclamation, vbNullString Loop End Function
Bonjour f894009,
Ça ne fonctionne pas!
Petite précision que j'aurais du faire dès le début c'est que ma colonne qui contient les dates est sous format yyyy-mm-jj hh:mm.
Dans mon Inputbox, je demande à l'utilisateur d'entrer une année a filtrer dans le format yyyy.
Merci,