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 :

macro excel renvoyant toutes les valeurs d'une variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut macro excel renvoyant toutes les valeurs d'une variable
    bonjour a toutes et à tous

    je me permets de vous déranger ici car j'ai besoin de votre aide

    voila, imaginons, j'ai une feuille excel avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    colA   col B
    A1         a
    A1         b
    A1         c
    A2         b
    A2         e
    A3         f
    et moi je voudrai avoir en résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    col A     col B
     
    A1         a,b,c
    A2         b,e
    A3         f
    cad rechercher toutes les valeurs de la col A et leur associer dans une seule cellule les valeurs dans la colonne B correspondante

    merci d'avance

    cdlt


    eclipse

  2. #2
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    J'avais posé un peu la même question pour une fonction et on m'a trés bien répondu :

    http://www.developpez.net/forums/d63...recherchetout/

    A adapter au besoin

    (merci encore cafeine)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Pistes à explorer:
    -boucle sur les lignes
    -fonctions de manipulation des chaînes: Mid, InStr, etc...

    Algorithme général du programme:
    -parcours de chaque ligne
    -identification de la variable: si elle existe dans le nouveau tableau, rajouter la colB correspondante à la fin, sinon créer une nouvelle ligne


    Voilà. Cela est loin d'être insurmontable.
    Si tu cales vraiment, on va t'aider un peu plus.

    EDIT: tu as posté pendant que je répondais

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    merci beaucoup pour vos réponses

    je vais suivre au mot près ce que vous avez tous deux écrit, ok j'ai déjà un début grace au post cité

    merci encore

    si je seche vraiment (ce que j'e n'espere pas car j'ai assez d'éléments) je reviens

    merci!

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    merci

    j'ai testé le code proposé dans l'autre topic référencé ici mais il a tout ralenti

    tout mon classeur est super ralenti

    est ce ca fait pareil lorsque vous avez appliqué cette solution.

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    Ce code ralenti beaucoup l'application utilisé en fonction mais je pense qu'en procédure avec une boucle ça devrait marcher bien mieux

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Pas besoin d'une boucle: elle se situe à l'intérieur de la procédure.

    Ceci dit, si tes cellules sont le résultat d'une fonction, tu devrais mettre ".Text" au lieu de ".Value" qu'il y a à l'intérieur du code donné.
    Autrement dit, je rajouterais bien un paramètre supplémentaire à la procédure pour préciser la méthode de travail et en faire une fonction encore plus polyvalente.

    Ceci dit, qui dit "fonction pratique qu'on peut utiliser partout", dit en général "fonction plus lourde et donc plus lente".

    Si tu ne parviens pas à ralentir l'exécution de ton code, il serait sage de réécrire cette fonction pour en raccourcir le code et l'adapter exclusivement à ton besoin.

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    oOVaveOo a raison

    si je fais ca en sub et que j'enleve l'argument valeur cherchee, il faut que je parcoure toute ma premiere colonne (ne retirant les doublons avant)

    je suis trop nul

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    il est normal que cette fonction ralentisse le programme puisqu'à chaque recalcul elle balaie toutes les occurences d'une liste qui peut être longue

    il serait peut être judicieux de confier le travail à une macro qui renverrait le résultat à la demande
    Elle est pas belle la vie ?

Discussions similaires

  1. Toutes les valeurs d'une requête ne sont pas traitées
    Par Lunaden dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/06/2008, 16h03
  2. ADO - Comment supprimer toutes les valeurs d'une colonne d une datatable?
    Par Mr_Welby dans le forum Accès aux données
    Réponses: 1
    Dernier message: 24/05/2007, 15h58
  3. Réponses: 3
    Dernier message: 16/08/2006, 15h11
  4. Toutes les valeurs d'une colonne - Tableau à 2D
    Par Bridou dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2006, 16h05
  5. Lire toutes les valeurs d'une clé
    Par winow dans le forum C++Builder
    Réponses: 3
    Dernier message: 03/02/2006, 18h51

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