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

IHM Discussion :

Création de boutons de tri alphabétique [AC-2000]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut Création de boutons de tri alphabétique
    Bonjour à tous, je souhaiterais créer dans un formulaire des boutons de commande de filtre avec des lettre " A - B - C - D"... basé sur une table avec des noms et prénoms. Lorsque je cliquerai sur le A, je n'aurai que les noms commençant par A et ainsi de suite. j'ai utilisé pour ce faire sur la bouton de commande A propriété sur clic = puis dans procédure évènementielle du formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function FiltreLet()
    Dim StrFilt As Variant, StrLet As Variant
     
        StrLet = Screen.ActiveControl.Name
        StrFilt = "(((Agents.[Nom Prenom]) Like '" & StrLet & "*'))"
        Me.Filter = StrFilt
        Me.FilterOn = True
    End Function
    Mais cela ne fonctionne pas. Si quelqu'un à déjà effectué ce genre de manip je vous remercie de vos conseils.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Tu as un champ unique contenant Nom et prénom nommé [Nom prénom] ?

    Si ce n'est pas le cas ton filtre est faux.

    Ton bouton de commande s'appelle A ou c'est ce que tu affiches ?

    Si c'est l'affichage et non le nom utilise la propriété Caption mais pas Name.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Oui mon champ est unique [Nom prénom].
    Mon bouton de commande s'appelle A "nom et légende" dans les propriétés.
    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Utilise un rollo button,
    Je te joins un exemple car c'est fastidieux à construire.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Screen.ActiveControl.Caption
    peut-être, c'est le libellé du bouton qui sert de filtre et non le nom du contrôle ?

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Je suis entièrement d'accord avec toi, c'est fastidieux à contruire vu le résultat attendu.
    Je pense que sa solution est encore la meilleure.

    Citation Envoyé par ClaudeLELOUP Voir le message
    Bonjour,

    Utilise un rollo button,
    Je te joins un exemple car c'est fastidieux à construire.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Citation Envoyé par ThieBEN Voir le message
    Oui mon champ est unique [Nom prénom].
    Mon bouton de commande s'appelle A "nom et légende" dans les propriétés.
    Merci
    Essaye en enlevant le préfixe de la table. Agents

    Donc juste :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrFilt = "([Nom Prenom] Like '" & StrLet & "*')"
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par ilank Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Screen.ActiveControl.Caption
    peut-être, c'est le libellé du bouton qui sert de filtre et non le nom du contrôle ?
    J'ai modifié Name par Caption, quand je clic sur le bouton de commande A ou B access me demande "entrer la valeur du paramètre" Agents.Nom Prenom.

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Déjà proposé... dommage.

    Citation Envoyé par ilank Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Screen.ActiveControl.Caption
    peut-être, c'est le libellé du bouton qui sert de filtre et non le nom du contrôle ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #10
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par loufab Voir le message
    Essaye en enlevant le préfixe de la table. Agents

    Donc juste :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrFilt = "([Nom Prenom] Like '" & StrLet & "*')"
    Peut-être il manque une macro ou un module?

  11. #11
    jojo5650
    Invité(e)
    Par défaut ajoute 1 champs à ta requête de données
    Citation Envoyé par loufab Voir le message
    Déjà proposé... dommage.
    Tu ajoute 1 champs à ta requête de données ce champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    := asc(left([nom de l'auteur],1))-64 as enfants,
    (pour Alphonse tu aura 1 )
    donc tu n'enregistre que le code asc du premier caractère de l'auteur -64

    Tu fais un formulaire sur ces données , tu l'incorpore au formulaire de la db que tu as posé sur le site.
    Dans les propriétés data champs enfants du sous-formulaire tu pose [enfant] pour l'enfant et dans le père ton role pour les conditions d'égalité.
    Chaque fois que tu change de lettre les données changerons
    PS: Le projet que tu as posé est vide, modifie le pour qu'il y ai quelques auteurs et je l'adapterai pour que ce que j'énonce soit pus claire.

    Donc repose une db avec quelques auteurs et prévient moi quand cela est fait.
    Nul besoin de macro ou autre.

    jojo5650
    Dernière modification par loufab ; 28/09/2010 à 16h23. Motif: balise de code obligatoires.

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Les boutons A B C ... sont dans le même écran ? en entete ou pied de formulaire par exemple.

    Voici un exemple fonctionnel ou les boutons sont placés en entête du formulaire et c'est l'étiquette du bouton de commande qui contient la lettre à filtrer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Function filtre()
    Me.Filter = "[Société] Like '" & Screen.ActiveControl.Caption & "*'"
    Me.FilterOn = True
    End Function
    Le code est placé dans un module et le chaque bouton reçoit l'appel sur l'événement Sur clic, comme ceci.

    Si cela ne fonctionne pas, essaye un point d'arrêt sur le filteron et regarde la propriété Filtre si elle est remplie.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Une autre piste facile à mettre en oeuvre au cas où cela peut t’intéresser :

    http://starec.developpez.com/tuto/barrecommande/#LVI-A

    Philippe

  14. #14
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par loufab Voir le message
    Les boutons A B C ... sont dans le même écran ? en entete ou pied de formulaire par exemple.

    Voici un exemple fonctionnel ou les boutons sont placés en entête du formulaire et c'est l'étiquette du bouton de commande qui contient la lettre à filtrer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Function filtre()
    Me.Filter = "[Société] Like '" & Screen.ActiveControl.Caption & "*'"
    Me.FilterOn = True
    End Function
    Le code est placé dans un module et le chaque bouton reçoit l'appel sur l'événement Sur clic, comme ceci.

    Si cela ne fonctionne pas, essaye un point d'arrêt sur le filteron et regarde la propriété Filtre si elle est remplie.

    Cordialement,
    Merci LOUFAB mais ça ne marche pas dans la partie filtre du formulaire il y a ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (((Agents.[Nom Prenom]) Like 'B*'))
    il me dit que : l'expression entrée comporte un nom de fonction introuvable. Mes boutons sont situés dans la partie détail de mon formulaire.

  15. #15
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Essaye de taper ceci dans le filtre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([Nom Prenom] Like 'B*')
    Il semble que dans ce que tu as fourni il manque une parenthèse à la fin. Peut-être s'agit-il simplement d'un mauvaise retranscription. (EDIT : Non il s'agit de l'oubli de la balise de code... c'est la raison pour laquelle elles sont obligatoires )
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  16. #16
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Ok, la référence à la table Agents est en trop, ton formulaire doit déjà avoir cette table comme source de données.

  17. #17
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par ilank Voir le message
    Ok, la référence à la table Agents est en trop, ton formulaire doit déjà avoir cette table comme source de données.
    Excuse moi mais je ne comprends pas ta réponse.

  18. #18
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    Pour filtrer le contenu du formulaire, il lui faut bien un contenu ou une source de données; qui, ici, doit être la requête ou la table contenant les nom et prénom des agents. Dans ton formulaire, il n'est donc plus nécessaire d'indiquer la source des données. Agents.[Nom prenom] ne correspond normalement à rien pour le formulaire, alors que [nom prenom] si.

  19. #19
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par ilank Voir le message
    Bonjour,
    Pour filtrer le contenu du formulaire, il lui faut bien un contenu ou une source de données; qui, ici, doit être la requête ou la table contenant les nom et prénom des agents. Dans ton formulaire, il n'est donc plus nécessaire d'indiquer la source des données. Agents.[Nom prenom] ne correspond normalement à rien pour le formulaire, alors que [nom prenom] si.
    Autant pour moi et milles excuses: Mon code de départ fonctionne, le seul problème c'est que j'avais oublié un accent sur le "e" de prénom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function FiltreLet()
    Dim StrFilt As Variant, StrLet As Variant
     
        StrLet = Screen.ActiveControl.Name
        StrFilt = "(((Agents.[Nom Prénom]) Like '" & StrLet & "*'))"
        Me.Filter = StrFilt
        Me.FilterOn = True
    End Function
    Maintenant cela fonctionne nickel le filtre fait bien son boulot.
    Un grand merci à vous tous avec mes excuses

  20. #20
    jojo5650
    Invité(e)
    Par défaut
    J'ai, je pense cerner la cause du problème.
    Avec cette réponse, je viens de poster un fichier qui filtre les auteurs sur la 1 ère lettre; le tout avec seulement 3 lignes de codes vba pas 4.

    Essaye cette solution, tout en sachant que je n'ai encodé que 2 auteurs , Alphnose daudet et JK rolling

    Pas besoin des usines à gaz ou de filtres compliqué comme précédemment proposé.

    jojo5650
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Création de boutons de tri dans l'index
    Par CUCARACHA dans le forum ASP.NET MVC
    Réponses: 3
    Dernier message: 06/01/2011, 09h45
  2. Tri Alphabétique Listbox avec Boutons Radios
    Par ljuboja78 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/05/2008, 09h55
  3. Réponses: 4
    Dernier message: 31/07/2007, 14h34
  4. [JTable] tri alphabétique
    Par clairette dans le forum Composants
    Réponses: 1
    Dernier message: 27/07/2005, 11h09
  5. tri alphabétique dans un tableau deux dimensions
    Par *!!cocco!!* dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 06/12/2004, 21h38

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