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 :

Pbl d'algorithmie pour la recherche de doublon


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Mut
    Mut est déconnecté
    Membre éprouvé Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par défaut Pbl d'algorithmie pour la recherche de doublon
    Bonsoir !

    Voilà j'ai un problème pour gérer des "doublons" dans une liste Excel. J'ai une colonne A qui contient des valeurs. Dans la colonne B j'ai également des données qui correspondent à celles de la colonne A. La colonne A est triée. La colonne B ne se trie pas. Je souhaite que lorsqu'il y a plusieurs fois le même mot dans la colonne A (à la suite donc puisque c'est trié) récupérer une valeur de la colonne B de mon choix. Mon problème est qu'une fois que j'ai récupéré cette valeur je dois la mémoriser, puis passer au "mot" suivant (en sautant les "doublons").J'ai donc beaucoup de mal à faire des while, for ou autre.... j'espère que c'est à peu près clair...mais j'en doute

    test A
    test1 B
    test4 N
    test4 N
    test4 M
    test5 H
    test6 MH
    test6 E
    ........ .......




    Dans ce shéma par exemple je souhaiterais pouvoir récupérer le "A" de test (facile ), le "b" de test1 (facile aussi), UNE SEULE donnée de test4 selon une condition, le H de test5 et également UNE SEULE donnée de test6. C'est à dire que arrivé à test1, je dois reprendre à test5...


    J'espère que quelqu'un aura suivit !

    Merci

  2. #2
    Membre chevronné

    Avatar de Deepin
    Homme Profil pro
    Ingénieur - Chef de projet Modélisation/Simulation
    Inscrit en
    Avril 2004
    Messages
    3 164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Ingénieur - Chef de projet Modélisation/Simulation
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 164
    Par défaut
    une soultion consisterait à extraire une liste sans doublons pour connaitre l'élément en cours.
    Une autre en utilisant ColumnDifferences par rapport à la cellule en cours

  3. #3
    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
    salut
    A froid comme ça sans essayer, tu peus peut-etre le faire avec un tableau
    ou plusieurtu

    dans le premier tu stockes les valeurs colonneA c'est a dire qu'il va te donner le nombre de test1
    dans le deuxieme tu stocke la valeur de la colonne b (tu ne dis pas si la condition pour choisir la valeur sera un chois de l'utilisateur, ou une condition prédéfini ?)
    dans le troisiem tu stockes l'adresse des cellules trouvées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    celule (1.1) = test1
    si cellule (2.1) = test1 alors ajoute un element a tableaudesvaleurcoloneA
    ajoute un element a tableaudesvaleurcoloneB
    ajoute une address a tableaudesvaleurcolone
    le ubound du tableauA te donne le nombre de valeur trouvé pour test1. admettons qu'il en ait trouvé 4. une petite boucle dans le tableauB te permet de lire les valeur, et soit de les présenter a l'utilisateur, soit de leur appliquer ta condition, et le meme ubound, te permet de récuperer l'adresse du dernier doublon, et donc de reprendre la recherche a la cellule suivante

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Regarde là, tu as un code qui fait ça sur une colonne triée. Il ne te reste qu'à ajouter la mémorisation de la donnée. Dans ce code, la donnée est placée dans une listbox. Si tu tiens à avoir la donnée dans un tableau, tu déclares un tableau vide en tête de macro et, au lieu de récupérer le N° de ligne, tu redimensionne ton tableau pour chaque nouvelle donnée trouvée et tu lui affectes la valeur. Pour le principe, tu remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        For Each Cell In Liste
            Debug.print Cell
            Listebocse.additem Cell
        Next
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For each Cell in Liste
         i = i + 1
         Redim preserve LeTableau(i)
         LeTableau(i) = Cell
    Next
    A+

    Edit
    Alsimbad m'a signalé une erreur lamentable sur cette ligne
    LeTableau(i) = Cell
    j'ai corrigé

  5. #5
    Mut
    Mut est déconnecté
    Membre éprouvé Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par défaut
    Merci à vous tous de vous intéressez à mon problème car je vous avoue que je suis perdu !! je vais examiner en détail vos solutions demain et je vous tiens au courant !!


    Merci encore !

  6. #6
    Mut
    Mut est déconnecté
    Membre éprouvé Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Par défaut
    C'est bon ! je suis passé par des tableaux et en "bidouillant" un peu j'arrive à obtenir le bon résultat !

    Encore merci à tous pour m'avoir mis sur la bonne voie !

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

Discussions similaires

  1. [MySQL] Requête pour recherche de doublons qui ne fonctionne plus : HTTP404
    Par HAbroc dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/06/2012, 11h13
  2. Requête pour rechercher des doublons partiels
    Par jubourbon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/06/2011, 11h22
  3. [VBA] Algo de recherche de doublons
    Par guams dans le forum VBA Access
    Réponses: 6
    Dernier message: 27/07/2004, 17h10
  4. recherche de doublons dans un fichier texte
    Par portu dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 07/10/2003, 14h13
  5. Réponses: 2
    Dernier message: 19/08/2003, 18h04

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