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 :

Afficher les données rechercher via userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 23
    Par défaut Afficher les données rechercher via userform
    Bonjour à tous,
    Je suis débutante en vba et j'avoue avoir du mal avec la syntaxe.
    En fait, je créer un outil permettant de rechercher un ou plusieurs salariés par critères. Jai donc crée plusieurs userform pour permettre à l'utilisateur de sélectionnez les critères de sa recherche et ensuite d'afficher les salariés de la feuille excel correspondant aux critères.
    Jusque là jai réussi à faire fonctionner mes userform entre eux mais maintenant je n'arrive pas à faire afficher les salariés remplissant les critères.

    Mes userform sont différents les uns des autres, certain avec des boutons d'option, d'autre avec des case à cocher et d'autre avec des menu déroulant.

    Je suis peut être pas assez claire ... Si vous avez des question pour plus de précisions n'hésitez pas.

    Merci d'avance pour votre aide

  2. #2
    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
    Bonjour
    Une question de fonds: Pourquoi plusieurs userforms pour fixer les critères de filtrage?

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 23
    Par défaut En effet
    Bonne réflexion ... En fait dans mon premier userform je demande l'utilisateur s'il veut rechercher un salarié, si oui un autre userform apparaît pour demander par quel critères, et j'aimerais permettre l'utilisateur de choisir ses propres critères de recherche et indiquer lesquels . en résultat j'aimerais que par exemple apparaisse sur ma feuille excel tous les salariés habitant la ville de bordeaux ...

    pensez vous que je puisse effectuer cela en un seul userform ?

    Et est-ce possible d'écrire des requêtes SQL ce qui me faciliterais la tâche.

    Merci encore de votre aide

  4. #4
    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
    Un seul userform est largement suffisant pour pouvoir fixer les critères de recherche.
    Après, un simple filtre automatique sur ta feuille te sortira le résultat de la recherche en fonction des critères choisis dans ton usf.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 23
    Par défaut ok
    Donc je devrais faire un userform avec plusieurs menu déroulant ce qui plus logique en effet .

    Par contre jusque là je n'ai jamais fais de filtrage ...
    pourriez vous m'aider ?

    Merci beaucoup de votre aide ça me fait gagner beaucoup de temps

  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
    Exemple
    Feuille BD: avec en colonne A: id, en colonne B, Type et en colonne C: Ville
    Feuille Resultat: feuille dans laquelle les données répondants aux critères sont rapatriées

    Userform avec ComboBox1 reprenant tous les types et ComboBox2 toutes les villes

    En fonction des choix faits dans les 2 combobox, les données répondant aux critères seront copiés vers la feuille Resultat (Si aucun item n'est choisi sur l'une des combobox, il n'est pas pris en compte)

    Le code relatif au bouton de validation de la recherche est le suivant:
    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 CommandButton1_Click()
    Dim LastLig As Long
     
    Application.ScreenUpdating = False
    'On efface les données de la feuille résultat
    Worksheets("Resultat").UsedRange.ClearContents
    With Worksheets("BD")
        'On supprime l'éventuel filtre automatique
        .AutoFilterMode = False
        'Ligne de la dernière cellule remplie de la colonne A
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        With .Range("A1:C" & LastLig)
            'Si un item est choisi dans ComboBox1 alors on filtre la colonne B sur cet item
            If Me.ComboBox1.ListIndex > -1 Then .AutoFilter Field:=2, Criteria1:=Me.ComboBox1.Value
            'Si un item est choisi dans ComboBox2 alors on filtre la colonne C sur cet item
            If Me.ComboBox2.ListIndex > -1 Then .AutoFilter Field:=3, Criteria1:=Me.ComboBox2.Value
            'On copie les ligne résultats du filtre vers A1 de feuille Resultat
            .SpecialCells(xlCellTypeVisible).Copy Worksheets("Resultat").Range("A1")
        End With
        'On supprime notre filtre automatique
        .AutoFilterMode = False
    End With
    'On décharge l'usf
    Unload Me
    End Sub

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

Discussions similaires

  1. Excel VBA Rechercher et Afficher les données
    Par Ricoeva84 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 25/07/2012, 19h35
  2. Réponses: 2
    Dernier message: 25/09/2010, 09h38
  3. Réponses: 2
    Dernier message: 02/07/2010, 19h16
  4. Réponses: 6
    Dernier message: 06/04/2006, 21h52
  5. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 16h53

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