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 :

Tri automatique à partir d'une combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    technicien réglementaire
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : technicien réglementaire

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Par défaut Tri automatique à partir d'une combobox
    Bonjour à tous,
    Nouveau sur ce forum et débutant en VB pour Excel, je pose ma première question, et j'espère la poser au bon endroit.
    Voici le sujet qui me pose soucis.

    Dans un fichier Excel, j'ai des colonnes avec différentes données. Je souhaite réaliser une zone de liste déroulante via l'outil développeur.
    L'objectif est que quand l'utilisateur fera un choix dans ma liste déroulante, les lignes ne correspondant pas à la valeur choisie se cachent....

    Merci par avance pour votre aide

  2. #2
    Membre éclairé Avatar de RastaBomboclat
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2014
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 240
    Par défaut
    Bonjour Stephdu57

    Une question bien expliquée et détaillé, donne lieu a plusieurs réponses.

    Quand tu dis: "les lignes ne correspondant pas à la valeur choisie se cachent...."
    de quelles lignes parles-tu, quelles sont leur references (par exemple A1 à C3).

    Pourrais-tu nous montrer un exemple de ce que tu veux en Excel. Avec un petit fichier (sans données confidentielles), les membres de la communauté pourront mieux comprendre ce que tu veux et t'aideront.

  3. #3
    Candidat au Club
    Homme Profil pro
    technicien réglementaire
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : technicien réglementaire

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Par défaut
    Effectivement, les choses seraient plus claires avec un exemple.
    Comme je n'arrive pas à uploader un fichier, je vous mets une capture
    Nom : test forum.JPG
Affichages : 353
Taille : 102,4 Ko
    L'idée est la suivante:
    - L'utilisateur fait son choix dans la liste "choix du bâtiment".
    - Dans la colonne C, il y a la liste des bâtiments.
    - Lorsque le choix est fait, si le nom choisi dans la box n'est pas dans une des case de la colonne C, alors la ligne complète est cachée
    - Au final, l'utilisateur n'aura que les lignes dans lesquelles le bâtiment V9 apparait dans une des cases de la colonne C

    Merci pour votre réponse

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Donc il te suffit d'utiliser Autofilter : http://excel.developpez.com/faq/?pag...iltreAutoMacro
    Tu filtre ta colonne C en fonction de la valeur de ton combobox

  5. #5
    Candidat au Club
    Homme Profil pro
    technicien réglementaire
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : technicien réglementaire

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Par défaut
    Citation Envoyé par cerede2000 Voir le message
    Donc il te suffit d'utiliser Autofilter
    Je découvre cette fonction. Je vais donc essayer, et je reviendrais vers vous...
    Merci

  6. #6
    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,
    sinon, sans utiliser le filtre, dans l'éditeur Vba, tu cliques 2 fois sur la feuille où insérer le code ci-dessous
    Admettons que ton combobox soit un controle ActiveX et qu'il se nomme Combobox1 sinon tu changes pour le nom de ton combo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub ComboBox1_Change()
    Dim x As Long, DerCel As Range, Tb
      Cells.Rows.Hidden = False
      Set DerCel = Range("C" & Rows.Count).End(xlUp)
      Tb = Range("C4", DerCel)
    For x = UBound(Tb, 1) To 1 Step -1
      If Tb(x, 1) <> ComboBox1 Then
        Rows(x + 3).EntireRow.Hidden = True'si tu commences à la ligne 4
      End If
    Next
    End Sub
    autre possibilité sans tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Change()
    Dim x As Long, DerCel As Long
    Cells.Rows.Hidden = False
    DerCel = Range("C" & Rows.Count).End(xlUp).Row
    For x = DerCel To 4 Step -1
      If Range("C" & x) <> ComboBox1 Then
        Rows(x).EntireRow.Hidden = True
      End If
    Next
    End Sub
    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...)

  7. #7
    Membre éclairé Avatar de RastaBomboclat
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2014
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 240
    Par défaut
    Stephdu57,

    Je te joints ici un petit fichier pour débutant en VB pour Excel, qui je pense, répondra à ta question et te permettra de faire plus connaissance avec le vba.


    Merci de mettre un si la réponse a servi et de mettre un si le sujet est résolu.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [C#] Récupération de données à partir d'une combobox
    Par Choumy dans le forum Windows Forms
    Réponses: 10
    Dernier message: 09/02/2008, 17h51
  2. Réponses: 3
    Dernier message: 20/09/2007, 08h35
  3. Réponses: 1
    Dernier message: 14/06/2007, 20h28
  4. [JUnit] [junit 4] Tests automatique à partir d'une autre classe
    Par Periph dans le forum Tests et Performance
    Réponses: 9
    Dernier message: 28/03/2007, 09h46
  5. [XSLT] [JavaScript] tri + affichage à partir d'une position
    Par Fabouney dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/11/2006, 08h46

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