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 avant Userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Finance
    Inscrit en
    Mai 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Finance
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 19
    Par défaut Tri avant Userform
    Bonjour,

    Voici la difficulté que je rencontre :

    Dans mon appli je dois gérer une base de données (des salariés) par un UserForm que je viens de créer. Cette base contient 5 colonnes :

    La 1ère : le matricule (numérique)
    La 2ème : le nom
    La 3ème : le prénom
    La 4ème : le type de contrat
    La 5ème : le nombre d'heures mensuelles

    Mon UserForm permet de rechercher/sélectionner un salarié soit via un ComboBox sur son matricule (pas évident de se souvenir de tous... à part le mien ), soit via un ComboBox sur son nom (comment je m'appelle, déjà ? ).

    Quand on fait une recherche il est évidemment plus facile de le faire sur une liste triée, que ce soit sur du numérique ou sur de l’alpha. Or, si dans mon code [Private Sub CbxMatr_Change()] ou [Private Sub CbxNom_Change()] je lance un tri de ma base (sur la liste des matricules si c'est le ComboBox du matricule qui est utilisé ou sur la liste des noms si c'est le ComboBox du nom qui l'est) ma macro plante (Erreur d'exécution '1004': La méthode Sort de la classe Range a échouée). L'aide associée au message d'erreur ne m'apporte pas de solution...

    Comment faire pour trier ces deux critères au moment du choix de l'utilisateur sans faire planter ensuite la macro au moment de la sélection d'un matricule ou d'un nom ?

    Quelqu'un aurait-il une ch'tite idée ?

    Merci d'avance !

    Nospam

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut Tri et Userform
    Bonjour le Forum,

    Bonjour NOSPAM54 et bienvenu!

    Pourquoi trier les données sur la feuille de ttravail?

    Tu peux très bien, dans un formulaire, afficher une combobox avec des données triées sans qu'elles le soient réellement dans ta feuille.
    (Voir tous les posts à ce sujet)
    Ensuite, utiliser la méthode "Find"
    (voir l'aide en ligne maintes fois utilisée)

  3. #3
    Membre averti
    Homme Profil pro
    Finance
    Inscrit en
    Mai 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Finance
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 19
    Par défaut
    Merci MarcelG pour ta réponse rapide.
    Cependant... j'avais déjà fait des recherches sur ce forum, et sur d'autres d'ailleurs. Mais il y en a tant et tant qu'il est bien compliqué de trouver celui (ou ceux) qui répondrai(en)t à ma question sans y passer des heures.

    Je note donc qu'il vaut mieux que - bien que n'étant vraiment pas un expert en VBA - je me débrouille par moi-même...

    Nospam

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut Recherche
    Bonjour le Forum, Bonjour NOSPAM54,

    Que les choses soient bien claires.
    Je veux bien te fournir une solution toute prête. Mais cela ne te rendrait pas service.
    Comme en mathématiques, c'est la recherche qui fait progresser!
    Sauf erreur, c'est le principe même du Forum.

    Une simple recherche sur celui-ci (par défaut sur la toile) avec les 2 mots clés "combobox trié" te donnera déjà des résultats.
    A toi d'en adapter un à ton cas.

    Pour ce qui est de la méthode Find, il suffit d'avoir le pointeur de la souris positionné dessus et d'actionner la touche F1 pour en voir l'exemple adapté le plus souvent.

    Procède à ces 2 recherches, essaie de les adapter puis reviens en retournant ton code et en signalant le(s) bug(s) éventuel(s)

    Je quitte tôt mon ordinateur cet après-midi, mais je mènerai cette recherche avec toi jusqu'à sa résolution.

Discussions similaires

  1. sort écrase mon fichier avant tri
    Par slig_80 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/12/2010, 17h48
  2. Tri avant group_concat
    Par bastien dans le forum Requêtes
    Réponses: 7
    Dernier message: 16/02/2010, 11h50
  3. Userform tri sur plusieurs feuilles
    Par cricrihautpyr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/03/2008, 10h54
  4. missing { avant try???
    Par hansaplast dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/03/2006, 01h24
  5. Faire un tri avant un group by
    Par Igarpoor dans le forum Requêtes
    Réponses: 10
    Dernier message: 17/03/2006, 15h27

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