Tri ordre alphabétique automatique en tapant "Entrée" et liste déroulante

Bonjour à tous,

J'essai depuis plusieurs jours d'intégrer plusieurs paramètres à un tableau

J'ai en feuille 1 (Liste) une liste de noms et prénoms d'agents

J'ai en feuille (Résultats) un tableau excel (voir ficher joint) :

Date Agent Résultat Lieu Période Réf

01/01/2016 Aaaaa azef 25 Matin 1

01/01/2016 Adgr Beop 60 Matin 2

01/01/2016 Blppjg Zfrg 10 Matin 3

01/01/2016 Fczer ¨Prgc 100 Après-midi 4

01/01/2016 Geeg Brr 50 Après-midi 5

01/01/2016 Zrghfc Brrf 30 Après-midi 6

Dans la feuille 1 (Liste) : Je voudrais que quand j'ajoute le nom d'un agent, il soit automatique trié et rentre dans la liste dans l'ordre alphabétique dès que je tape "Entrée"

Dans la feuille 2, la colonne Agent, je voudrais une liste déroulante semi-automatique qui me permette de retrouver rapidement un agent (soit par son nom soit par son prénom car parfois on n'a pas le nom de famille)

Et dans la feuille 2, je voudrais aussi que la référence s'incrémente automatiquement quand je rentre le nom d'un agent

Je galère !!!

Un grand merci d'avance à tous ceux qui pourront m'aider !

Bonsoir,

ci-jointe proposition

Bonjour,

Merci beaucoup

Le tri alphabétique auto marche bien.

Si tu as un peu de temps, pourrais-tu m'expliquer les modifs que tu as faites ? pour que je puisse le refaire.

Saurais-tu m'apporter une solution pour mes soucis rencontrer avec ma feuille 2 (Résultats) ?

En tout cas, encore merci pour ton aide sur le tri auto !

Bonne journée

Saurais-tu m'apporter une solution pour mes soucis rencontrer avec ma feuille 2 (Résultats) ?

1- en B1, tu peux sélectionner Nom Agent ou Prénom Agent. Selon cette sélection, affichage de la liste déroulante dans la colonne B du tableau. (cf version corrigée car il y avait un bug dans la version précédente)

2- si ajout d'une ligne, incrémentation automatique de 1 du nombre le plus grand.

Si tu as un peu de temps, pourrais-tu m'expliquer les modifs que tu as faites ?

Il suffit d'utiliser les propriétés et méthodes des objets tableau (VBA = ListObject) présents sur tes 2 feuilles ( menu : Outils de Tableau, sur la ligne du haut de la fenêtre) qui permettent un code simplifié et plus explicite.

Me.ListObjects(1)

Me représente l'objet Feuille car rattaché au code de la feuille (Si le code était rattaché à un UserForm ou Workbook ou Module, Me représenterait respectivement le UserForm, le WorkBook , le Module)

ListObjects(1) représente le premier objet tableau de la feuille et donc celui de la feuille car il n'y a en qu'un.

.Sort est la méthode de tri associée à l'objet tableau

.Listcolumns est la propriété représentant les colonnes de l'objet tableau

.Listrows est la propriété représentant les lignes de données de l'objet tableau (ligne d'entête exclue)

.Range est la propriété représentant la plage de cellules appartenant à l'objet tableau

.DatabodyRange est la propriété représentant la plage de cellules limitée aux données de l'objet tableau (=.Range moins les cellules de la ligne d'entête)

.HeaderRowRange est la propriété représentant la ligne d'entête de l'objet tableau

Bonjour Thev,

Je te remercie beaucoup pour ton aide et pour tes explications.

Dès que je peux je me penche sur le VBA... ça fait longtemps que je le dis, mais ça peut vraiment aider pour plein de trucs.

Le problème, c'est le temps !

Ton système marche bien.

J'ai juste un petit soucis : j'ai remarqué que si on se plante quelque part (erreur de frappe par exemple et qu'on a taper "Entrée"), impossible de faire le retour en arrière.

Hors on va être plusieurs à utiliser ce même fichier, donc des erreurs seront faites à un moment ou à un autre.

Tu sais comment faire ?

Dans tous les cas, un super grand merci pour ton temps !!!

Bonsoir,

J'ai juste un petit soucis : j'ai remarqué que si on se plante quelque part (erreur de frappe par exemple et qu'on a taper "Entrée"), impossible de faire le retour en arrière.

Hors on va être plusieurs à utiliser ce même fichier, donc des erreurs seront faites à un moment ou à un autre.

Cette nouvelle version devrait le permettre.

Bonjour Thev,

Pardon pour le retard de ma réponse

Mille merci pour ton aide.

J'essaie de faire mon fichier dès que je peux et je reviens pour te dire si j'ai réussi ou pas.

Encore merci pour ta disponibilité

Cordialement

MaTi

Bonjour Thev,

Je reviens vers toi pour de donner des nouvelles.

J'ai voulu recopier tes macros dans un nouveau fichier mais du coup, cela ne fonctionne plus

Comme je suis une bille en VBA, je ne trouve pas pourquoi ça ne marche plus.

Peux-tu m'aider ?

Autre problème que j'ai :

j'ai créer une liste déroulante semi-automatique basée sur tes apports Nom agent / Prénom agent

ça marche très bien quand je fais la recherche avec Nom agent mais ça ne marche plus si je fais la recherche avec Prénom agent

Dans ce second cas, j'ai la liste mais elle n'est pas semi-automatique

Je pense que c'est dû au fait que la liste commençant par les prénoms n'est pas dans l'ordre alphabétique

Du coup ma question :

Serait-il possible de copier la liste Prénom-Nom dans une colonne à côté pour la remettre dans l'ordre alphabétique ?

Idéalement, il faudrait que quand on rentre un nom : 1) il se mette dans l'ordre alphabétique (ce que tu m'as fait... mais qui ne marche plus après mon copier coller) 2) qu'on ait la liste Prénom-Nom qui en découle (tu m'as aussi bien aidé là dessus) et 3)qu'on puisse avoir cette liste Prénom-Nom (peut-être un double) dans l'ordre alphabétique pour l'état suivante "liste déroulante semi-auto"

J'ai demandé à plusieurs personnes mais aucune n'a pu m'aider.

Voilà voilà

Je te joins le fichier, ça sera surement plus clair

Mille merci pour ton aide !

Bonjour,

je

J'ai voulu recopier tes macros dans un nouveau fichier mais du coup, cela ne fonctionne plus

Comme je suis une bille en VBA, je ne trouve pas pourquoi ça ne marche plus.

Pas vu de problème à part la sélection Prénom agent, que j'ai corrigée.

Il faudrait que vous soyez plus précis sur ce qui ne marche pas.

En effet, ça marche

Je crois que j'ai eu un bug avec mon ordi ce matin après une panne de courant

J'ai juste encore un petit plus que j'aimerais modifier

Quand je veux sélectionner par la liste Prénom-Nom, ma liste semi-auto ne marche pas (elle fonctionne avec Nom-Prénom)

Je crois que c'est à cause de l'ordre alpha mais pas

Je regarde dès que possible et je te dis

En tout, si je n'arrive pas à résoudre ce petit problème, ça sera quand même super !

Merci BEAUCOUP !

Tu es le seul à avoir réussi à me résoudre ce problème

Plusieurs m'ont dit que c'était impossible

Bonne fin de journée

Quand je veux sélectionner par la liste Prénom-Nom, ma liste semi-auto ne marche pas

Je crois avoir compris que tu t'es aperçu avec retard que c'était corrigé.

Comme je suis une bille en VBA,

Tu te mésestimes car j'ai vu que tu avais recopié le code en changeant ce qu'il fallait.

Bonjour Thev,

Tu es trop gentil avec moi.

Je comprend 2 / 3 bricoles mais ça ne va pas loin.

C'est un peu comme pour l'anglais : je comprend quand je lis ou quand on parle, mais pour sortir des phrases... c'est très compliqué !

J'arrive à comprendre les codes proposés mais je suis incapable de trouver les bonnes idées toute seule.

Pour la liste semi-auto avec les prénoms ce n'est pas résolu. Si tu fais le test et que tu sélectionne "Prénom-Nom" et que tu essaie de commencer à écrire un nom dans la cellule, ça ne marche pas alors que ça marche avec la liste "Nom-prénom" (la liste se réduit : par exemple, si tu tapes le début d'un nom avec Da, la liste ne te proposeras plus que les Noms commençant en "Da..."

Je pense que c'est histoire d'ordre alphabétique qui ne va pas. Car si j'ai les noms dans l'ordre alphabétique, forcément je ne peux pas avoir les prénoms aussi dans l'ordre alphabétique (avec le fichier, c'est peut-être plus clair)

Mais ce n'est pas très grave.

Ce que tu m'as aidé à faire est top, ça fonctionne bien et ça va beaucoup m'aider pour le fichier que je dois faire pour mes collègues !

Mille merci

Pardon pour toutes les fautes

Je n'ai relu avant d'envoyer !

Rechercher des sujets similaires à "tri ordre alphabetique automatique tapant entree liste deroulante"