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 :

[VBA E-03] Novice, filtrer une BDD et afficher dans une Listview.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Par défaut [VBA E-03] Novice, filtrer une BDD et afficher dans une Listview.
    Bonjour et touts mes voeux pour 2009 au forum.

    Etant novice, je me jette à l'eau, mais je ne sais pas si je suis sur le bon forum. Si c'est le cas je m'en excuse d'avance.
    Voilà ma question:
    j'aimerais filtrer une BDD selon une valeur sélectionnée à partir d'une combobox qui reprend les donnée de la feuille "BDD" colonne "A" pour ensuite afficher dans une listview les colonnes et lignes qui correspondent a cette valeur.
    autrement dit: dans la feuille "BDD" colonne "A" ,tant que la valeur est "mai - 2008" affiche dans la listview les colonnes et lignes correspondantes.

    d'avance merci pour vos réponses.

  2. #2
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Bonjour et bienvenu sur le forum,

    Pour commencer, qu'as-tu déjà codé ?

    Pour faire ce filtre avec la sélection de ta combobox je vois quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub combo_Change()
        For i = 1 To BDD.Range("A65536").End(xlUp).Row
            If combo.Value = BDD.Cells(i, 1) Then
                ListBox.AddItem BDD.Cells(i, Y)
            End If
        Next
    End Sub
    (pas testé donc à adapter)

    A chaque changement de ta combo, il prend sa valeur et la compare avec les valeurs de la colonne A et si c'est pareil il ajoute les valeurs de la ligne i colonne Y (à préciser) à la listbox.

    Si tes valeurs sont des strings, tu peux utiliser "strcomp" pour la condition.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Par défaut Merci Zandru pour la rapidité de ta réponse.
    Bonjour Zandru et encore merci car je rame vraiment. j'éspere etre au bon endroit pour repondre.
    Voila ta demande pour t'eclairer
    J'ai dans une Form_recherche le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Sub Userform_()Activate
        ' ComboBox choix, Affiche la liste des mois - année de la feuille ("BDD") colonne ("A") sans doublons
        Worksheets("BDD").Select
        Dim j As Integer
        For j = 2 To Sheets("BDD").Range("A65536").End(xlUp).Row
        Lst_choix = Range("A" & j)
        If Lst_choix.ListIndex = -1 Then Lst_choix.AddItem Range("A" & j)
        Next j
    End sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Btn_valider_Click()
        Dim moisAnnee As String
        moisAnnee = Lst_choix.Value
        Worksheets("BDD").Select
        Range("A2").Select
        Do Until (ActiveCell.Value = moisAnnee)
        ActiveCell.Offset(1, 0).Select
        Loop
        Frm_rechercher.Hide
        Call Consulter
    End Sub
    Tout ceci fonctionne jusqu'à présent, mais je pense que le problème se situe dans la form_consulter ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_Activate()
        Dim tableau, y&
        ' Trie les données de la base par ordre croissant
        Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Le problème se situe ici à mon avis ( comment lui dire, tant que la valeur de combobox est dans la feuille "BDD" colonne "A" affiche dans listview les colonnes et lignes située à droite de "A"
    Avec ceci, cela m'affiche dans la listvieuw toutes les données de la "BDD"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Selection.CurrentRegion.Select
        tableau = Selection.Value
        ' Remplissage ListView
    Mille merci d'avance.
    fadan

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  2. Réponses: 19
    Dernier message: 07/07/2010, 16h30
  3. [MySQL] recuper une image stocker totalement dans une bdd
    Par agnaou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/02/2009, 16h56
  4. Incrémenter une lettre pour enregistrement dans une bdd
    Par baggie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2008, 16h26
  5. réplication d'un BDD sql server dans une BDD mysql
    Par bene86 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 23/08/2007, 11h09

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