IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Filtre sur colonne date avec combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 73
    Par défaut Filtre sur colonne date avec combobox
    Bonjour Tout le monde
    J'ai un userform avec 4 combobox en cascade pour filtrer. Dans ma base de données, la colonne A8 contient uniquement des dates au format dd-mmm-yyyy.
    Je voudrais alimenter la combo1 avec la colonne (A) date et j'aimerais que les dates soient affichées comme suit dans le combo dd-mmm-yyyy. Liste triée et sans doublon
    je voudrais pouvoir filtrer par la date choisie.
    Voici le code que j'utilse actuellement qui ne marche pas. Merci à l'avance de m'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Private Sub UserForm_Initialize()
    'ALIMETER COMBOBOX DATE
        Set f = Sheets("Données")
      Set mondico = CreateObject("Scripting.Dictionary")
      For Each c In Range(f.[A8], f.[A65536].End(xlUp))
        mondico(c.Value) = c.Value
      Next c
     
      temp = mondico.items
      Call Tri(temp, LBound(temp), UBound(temp))
      Me.Cbx1.List = temp
    End Sub
     
    Private Sub Cbx1_Click()
     
    Dim X As Long
    With ListView1
      For X = .ListItems.Count To 1 Step -1
        If .ListItems(X).Text <> Controls("Cbx" & 1) Then
           .ListItems.Remove X
        End If
      Next
    End With
     
    Combo_Cascade

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour à tou(te)s, duplaly
    un exemple que tu devrais pouvoir améliorer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Option Explicit
    Dim tb1, x As Long, derlg As Long, y As Long, tb2(), temp, f As Worksheet, mondico As Object
     
    Private Sub UserForm_Initialize()
    y = 0
    'ALIMENTER COMBOBOX DATE
    Set f = Sheets("Données")
    derlg = f.Range("A" & f.Rows.Count).End(xlUp).Row
     
    tb1 = f.Range("A8:A" & derlg)
    Set mondico = CreateObject("Scripting.Dictionary")
    For x = 1 To UBound(tb1)
      If Not mondico.exists(tb1(x, 1)) Then
        y = y + 1
        mondico.Add tb1(x, 1), CStr(tb1(x, 1))
      End If
    Next x
    temp = mondico.items
    Tri_Tableau
    Me.Cbx1.List = temp
    End Sub
     
    Sub Tri_Tableau()
    Dim k As Integer
    Dim ValTemp As Date
    For y = 1 To UBound(temp)
      x = y
      For k = x + 1 To UBound(temp)
        If CDate(temp(k)) <= CDate(temp(x)) Then x = k
      Next k
      If y <> x Then
        ValTemp = CDate(temp(x)): temp(x) = CDate(temp(y)): temp(y) = CDate(ValTemp)
      End If
    Next y
    End Sub
    tri basé sur l'exemple de ce lien
    http://silkyroad.developpez.com/vba/tableaux/#LXIV-D

    Bonne journée à tou(te)s
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 73
    Par défaut
    Merci beaucoup. Je vais essayer de l'adapter à mon projet.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/12/2012, 11h01
  2. Probleme avec Renderer sur colonne Date
    Par touftouf57 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 19/01/2010, 02h16
  3. Effacer les fichiers avec un filtre sur la date
    Par BenoitM dans le forum Framework .NET
    Réponses: 3
    Dernier message: 25/03/2008, 17h02
  4. requete avec filtre sur la date
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/02/2007, 11h49
  5. [C#] Calcul sur les dates avec des DateTimePicker
    Par alizee971 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2005, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo