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 :

Trier avec macro et combobox [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 249
    Par défaut Trier avec macro et combobox
    Bonjour,

    J'ai un tableau de clients avec leur coordonnées et j'aimerais que l'on puisse avoir un bouton, qui quand on clique dessus nous ouvre une combobox, je crois que c'est comme ça que vous appelez ça, pour demander par quel département on veut trier les clients.

    Est-ce possible ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 206
    Par défaut
    Par comboBox, tu sous entends une liste avec tous les départements ou une fenêtre de saisie? Dans ce dernier cas, c'est une InputBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub TonBouton_Click()
        Dim intDpt as Integer
     
        intDpt = InputBox("Saisir le département")
     
        'Ici tu met le code pour effectuer le tri
        ...
     
    End Sub
    J’espère que c'est ce que tu recherche.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 249
    Par défaut
    merci tarnx. Merci pour Inputbox, je saurais comme ça. Peux tu me dire comment on fait pour créer le filtre en fonction de ce qu'on aura saisi dans l'Inputbox ?

    J'ai cherché dans d'autres discussions mais je n'ai pas trouvé.

    Par exemple, si je saisi "44", tous les clients du département 44 s'affiche et seulement ceux là.

    Il faudrait également que l'on mentionne dans le code que mon tri commence à la ligne 3 car en ligne 2, j'ai le titre des colonnes et en ligne 1 des boutons.

    Faut-il suivre ce modèle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Filter(sourcesrray, match[, include[, compare]])
    Merci pour ton aide

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 206
    Par défaut
    On peux essayer de faire comme ça :

    Je considère que les départements se situent sur le colonne A.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub TonBouton_Click()
    
        Dim intDpt as Integer
     
        intDpt = InputBox("Saisir le département")
                 
               ' On compte les lignes du tableau
        Range("A3").Select
        Range(Selection, Selection.End(xlDown)).Select
        intDataRow = Selection.CurrentRegion.Rows.Count + 2
               ' On effectue le filtre
        Range("A2:C" & intDataRow ).AutoFilter Field:=1, Criteria1:= intDpt 
    
    End Sub
    A tester.

    Mais cette méthode me parait un peu redondante étant donné qu'elle crée un filtre automatique sous forme de liste déroulante.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 249
    Par défaut
    Merci mais comme tu le dis, ce n'est pas ce que je cherche à faire. J'ai quand-même testé mais c'est quand même très compliqué à l'utilisation

    J'aimerais que quand on a rentré notre département dans l'inputbox, on fait enter et on a la liste des clients, avec leur coordonnées correspondantes bien sûr.

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Pour le filtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
    Dim Dpt As String
     
    Dpt = InputBox("Entrez n° département")
    With Sheets("Feuil3").Range("A1")  'Nom feuille à adapter
        .AutoFilter
        .AutoFilter field:=1, Criteria1:=Dpt
    End With
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VA-E] trier des données avec macro VBA
    Par M@XflY dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 13/01/2007, 13h24
  2. [c#]Nouveau probleme avec dataset et combobox
    Par misa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/05/2006, 10h37
  3. [debutante][list] trier avec sort()
    Par norkius dans le forum Débuter
    Réponses: 10
    Dernier message: 24/10/2005, 18h13
  4. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51
  5. [debutant][awt] Pb avec ItemStateChanged dans combobox
    Par cosmos.1097 dans le forum Composants
    Réponses: 2
    Dernier message: 30/06/2005, 18h38

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