Afin d'utiliser une liste d=E9roulante comme l'un des criteres d'un filtre =
=E9labor=E9, je dois la renseigner avec des dates seulement depuis une colo=
nne qui contient des dates sous forme de jj/mm/yyyy hh:mm
Bonjour Pourquoi ne pas se servir d'une colonne supplémentaire dans laquelle on aurait en (exemple) H1 =gauche(a1;10) ? Mais, à voir l'exemple, il y aurait des doublons. Donc, après avoir confectionné cette colonne , la re-filtrer sans doublons, à un autre emplacement. Dès lors, on pourrait reprendre cette colonne comme base pour la liste.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Apitos" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Afin d'utiliser une liste déroulante comme l'un des criteres d'un filtre élaboré, je dois la renseigner avec des dates seulement depuis une colonne qui contient des dates sous forme de jj/mm/yyyy hh:mm
Alors comment avoir une liste de validation de données avec des dates seulement (jj/mm/yyyy) ?
Merci.
Bonjour
Pourquoi ne pas se servir d'une colonne supplémentaire dans laquelle on
aurait en (exemple) H1 =gauche(a1;10) ?
Mais, à voir l'exemple, il y aurait des doublons.
Donc, après avoir confectionné cette colonne , la re-filtrer sans doublons,
à un autre emplacement.
Dès lors, on pourrait reprendre cette colonne comme base pour la liste.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Apitos" a écrit dans le message de groupe de discussion :
a67f3959-de78-49ab-b11b-6ffb8904f8a2@googlegroups.com...
Bonjour à tous,
Afin d'utiliser une liste déroulante comme l'un des criteres d'un filtre
élaboré, je dois la renseigner avec des dates seulement depuis une colonne
qui contient des dates sous forme de jj/mm/yyyy hh:mm
Bonjour Pourquoi ne pas se servir d'une colonne supplémentaire dans laquelle on aurait en (exemple) H1 =gauche(a1;10) ? Mais, à voir l'exemple, il y aurait des doublons. Donc, après avoir confectionné cette colonne , la re-filtrer sans doublons, à un autre emplacement. Dès lors, on pourrait reprendre cette colonne comme base pour la liste.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Apitos" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Afin d'utiliser une liste déroulante comme l'un des criteres d'un filtre élaboré, je dois la renseigner avec des dates seulement depuis une colonne qui contient des dates sous forme de jj/mm/yyyy hh:mm
Alors comment avoir une liste de validation de données avec des dates seulement (jj/mm/yyyy) ?
Merci.
Apitos
Bonjour Jaquouille,
Pourquoi ne pas se servir d'une colonne supplémentaire dans laquelle on aurait en (exemple) H1 =gauche(a1;10) ? Mais, à voir l'exemple, il y aurait des doublons. Donc, après avoir confectionné cette colonne , la re-filtrer sans dou blons, à un autre emplacement. Dès lors, on pourrait reprendre cette colonne comme base pour la liste.
Ne peut-on pas le faire en une seule étape ?
Bonjour Jaquouille,
Pourquoi ne pas se servir d'une colonne supplémentaire dans laquelle on
aurait en (exemple) H1 =gauche(a1;10) ?
Mais, à voir l'exemple, il y aurait des doublons.
Donc, après avoir confectionné cette colonne , la re-filtrer sans dou blons,
à un autre emplacement.
Dès lors, on pourrait reprendre cette colonne comme base pour la liste.
Pourquoi ne pas se servir d'une colonne supplémentaire dans laquelle on aurait en (exemple) H1 =gauche(a1;10) ? Mais, à voir l'exemple, il y aurait des doublons. Donc, après avoir confectionné cette colonne , la re-filtrer sans dou blons, à un autre emplacement. Dès lors, on pourrait reprendre cette colonne comme base pour la liste.
Ne peut-on pas le faire en une seule étape ?
isabelle
Afin d'utiliser une liste déroulante comme l'un des criteres d'un filtre élaboré,
liste déroulante ? une liste de validation ou un control activeX ou objet formulaire ?
-- isabelle
Le 2012-07-07 09:20, Apitos a écrit :
Bonjour à tous,
Afin d'utiliser une liste déroulante comme l'un des criteres d'un filtre élaboré,
je dois la renseigner avec des dates seulement depuis une colonne qui contient des dates sous forme de jj/mm/yyyy hh:mm
Set oPlg = .Range("A1:A" & LastLg) 'plage de données End With dPlg = oPlg.Value
'-- Tri With oPlg.Parent.Sort .SortFields.Clear .SortFields.Add Key:=oPlg.Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange oPlg .Header = xlNo 'xlGuess .MatchCase = False .Orientation = xlTopToBottom .Apply End With On Error Resume Next
'-- Récupérer les dates sans doublons For Each oCel In oPlg.Cells fCel = Trim(Format(oCel.Value, "dd/mm/yyyy")) If Not dic.Exists(fCel) Then 'MsgBox "oCel = " & oCel & vbCrLf & _ ' "Format(" & oCel.Value & ", dd/mm/yyyy) = " & Format (oCel.Value, "dd/mm/yyyy") dic.Add fCel, fCel End If Next oCel
oPlg.Value = dPlg Set oPlg = Nothing Erase dPlg On Error GoTo 0 Sheets("feuil2").Range("B2").Resize(dic.Count, 1) = Application.Trans pose(dic.keys)
'-- Plage nommée ActiveWorkbook.Names.Add Name:="MaListe", RefersTo:="þuil2!$B$2 :$B$" & LastLg & "" '--------- With [F2].Validation .Delete .Add Type:=xlValidateList, Formula1:="=MaListe" .IgnoreBlank = True .InCellDropdown = True '.InputTitle = "" '.ErrorTitle = "" '.InputMessage = "" '.ErrorMessage = "" '.ShowInput = True .ShowError = True End With End Sub '-------------------
Merci d'avance.
Bonsoir,
Pourquoi avec ce code, j'obtiens parfois des dates sous format anglais parf ois français et parfois encore une date avec des heure et des minutes ?
'------------------
Sub ListeDate()
Dim i%, v$, dPlg, oCel As Range, oPlg As Range
Dim dic As Object, LastLg As Integer
Dim fCel As String
Set oPlg = .Range("A1:A" & LastLg) 'plage de données
End With
dPlg = oPlg.Value
'-- Tri
With oPlg.Parent.Sort
.SortFields.Clear
.SortFields.Add Key:=oPlg.Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange oPlg
.Header = xlNo 'xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
On Error Resume Next
'-- Récupérer les dates sans doublons
For Each oCel In oPlg.Cells
fCel = Trim(Format(oCel.Value, "dd/mm/yyyy"))
If Not dic.Exists(fCel) Then
'MsgBox "oCel = " & oCel & vbCrLf & _
' "Format(" & oCel.Value & ", dd/mm/yyyy) = " & Format (oCel.Value, "dd/mm/yyyy")
dic.Add fCel, fCel
End If
Next oCel
oPlg.Value = dPlg
Set oPlg = Nothing
Erase dPlg
On Error GoTo 0
Sheets("feuil2").Range("B2").Resize(dic.Count, 1) = Application.Trans pose(dic.keys)
'-- Plage nommée
ActiveWorkbook.Names.Add Name:="MaListe", RefersTo:="=Feuil2!$B$2 :$B$" & LastLg & ""
'---------
With [F2].Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=MaListe"
.IgnoreBlank = True
.InCellDropdown = True
'.InputTitle = ""
'.ErrorTitle = ""
'.InputMessage = ""
'.ErrorMessage = ""
'.ShowInput = True
.ShowError = True
End With
End Sub
'-------------------
Set oPlg = .Range("A1:A" & LastLg) 'plage de données End With dPlg = oPlg.Value
'-- Tri With oPlg.Parent.Sort .SortFields.Clear .SortFields.Add Key:=oPlg.Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange oPlg .Header = xlNo 'xlGuess .MatchCase = False .Orientation = xlTopToBottom .Apply End With On Error Resume Next
'-- Récupérer les dates sans doublons For Each oCel In oPlg.Cells fCel = Trim(Format(oCel.Value, "dd/mm/yyyy")) If Not dic.Exists(fCel) Then 'MsgBox "oCel = " & oCel & vbCrLf & _ ' "Format(" & oCel.Value & ", dd/mm/yyyy) = " & Format (oCel.Value, "dd/mm/yyyy") dic.Add fCel, fCel End If Next oCel
oPlg.Value = dPlg Set oPlg = Nothing Erase dPlg On Error GoTo 0 Sheets("feuil2").Range("B2").Resize(dic.Count, 1) = Application.Trans pose(dic.keys)
'-- Plage nommée ActiveWorkbook.Names.Add Name:="MaListe", RefersTo:="þuil2!$B$2 :$B$" & LastLg & "" '--------- With [F2].Validation .Delete .Add Type:=xlValidateList, Formula1:="=MaListe" .IgnoreBlank = True .InCellDropdown = True '.InputTitle = "" '.ErrorTitle = "" '.InputMessage = "" '.ErrorMessage = "" '.ShowInput = True .ShowError = True End With End Sub '-------------------