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 :

[E-07] tableau, collection ou autre ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 44
    Par défaut [E-07] tableau, collection ou autre ?
    Désolé de vous bombarder de questions un dimanche matin, mais il doit bien y avoir une âme sensible ici qui pourra m'aider dans ce choix existentiel...

    J'hésite beaucoup quel objet choisir pour mon utilisation.
    Je vais essayer de vous expliquer simplement mon problème, n'hésitez pas à me demander plus de précisions.

    J'ai un grand tableau pouvant contenir à terme plus de 50000 lignes et qui contient plusieurs colonnes, par exemple :
    colonne A : identifiant unique (string)
    colonne B : tâche (string)
    colonne C : responsable (string)
    colonne D : date de fin (date)

    Je souhaite résumer dans un autre tableau excel les tâches pour un certain responsable, triées par date de fin croissante.

    Je compte donc parcourir tout mon tableau et ajouter dans un tableau ou une collection les lignes dont le responsable est celui que je recherche.
    Ensuite, je voudrais trier ce tableau ou cette collection par date croissante.
    Enfin, je restituerai dans un nouvel onglet excel.

    Mon problème pour l'utilisation d'un tableau, c'est que je ne sais pas à l'avance combien de lignes je devrai y enregistrer. L'avantage, c'est que c'est facile à trier une fois qu'on a trouvé le bon algo sur internet.

    Mon problème pour l'utilisation des collections, c'est qu'on ne peut y mettre que deux éléments : une clé et une date. Est-il possible de trier les clés par date ? Il faudra ensuite que je sois capable de retrouver les autres informations à partir de la clé, et ça ne me paraît pas tout simple.

    Que me conseillez-vous ? Tableau ou collection ? Voyez-vous une autre solution ?

    Je vous remercie de m'avoir lu.

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonjour,

    Tu dis tableau excel, donc feuille de calcul ? tu n'as pas besoin de chercher des algos de tri sur internet .. excel à ces propres fonctions de tri !
    pour l'extraction tu as les fonctions de filtres ...!

    ceci pour dire que ton message n'est pas clair car l'on sait pas ce que tu appelle tableau , un tableau avec des lignes et des colonnes cela doit être une feuille de calcul excel ... dans ce cas tu n'as pas à prévoir le nombre de lignes tu peu en insérer jusqu'as atteindre la limite d'excel 2007...

    tu dis quoi...

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 44
    Par défaut
    Toutes mes données se trouvent dans une feuille excel.
    Par contre, je ne peux pas trier cette feuille ou la filtrer car ça ne sera plus compatible avec mes macros.

    Tu penses qu'il vaut mieux copier l'onglet excel, faire filtres et tris, copier les données et les coller où je veux, puis supprimer la feuille temporaire ?
    C'est une possibilité, mais je crains un peu pour la copie d'un onglet de plus de 50000 lignes.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    tu peux faire une copie de ta feuille avec liaison. et dans cette feuille copier tu crée un affichage personalisé pour ce responsable. aprés ça devrais rester a jour sans la moindre macro.

  5. #5
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 44
    Par défaut
    Merci pour ta réponse.

    Peux-tu me dire ce qu'est "une copie de ta feuille avec liaison" ?

    En tout cas, ca m'intéresse beaucoup si on peut éviter une macro supplémentaire !

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    copier ton tableau avec liaison, ça veut juste dire que les données du premier tableau sont répercutés dans le deuxieme.
    clic droit :collage spécial : coller avec liaison
    mais a la reflexion, ça ne sera pas pratique si tu dois ajouter des lignes dans ton tableau, et c'est assez lourd. tu peux creuser en direction des affichages personalisés, ça peut le faire aussi. mais peut etre que le mieux est encore de reviser tes macros pour qu'elle fonctionne quelque soit le tri ou le filtre sur tes données.

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

Discussions similaires

  1. [VBA-E]copie spéciale d'un tableau vers un autre
    Par gojira dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/10/2006, 16h21
  2. Réponses: 4
    Dernier message: 20/07/2006, 10h35
  3. [Tableaux] récupérer un tableau sur une autre page
    Par samsso2005 dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2006, 22h58
  4. passer d'une cellule d'un tableau a une autre par lien hyper
    Par jack_1981 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 28/12/2005, 14h53
  5. Pb pour se servir d'un tableau dans une autre unité
    Par libititi dans le forum Langage
    Réponses: 7
    Dernier message: 08/06/2005, 11h40

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