Macro : Récup liste sans doublons de deux feuilles
Résolu/Fermé
James
-
Modifié par James le 9/07/2014 à 15:39
J@mes Messages postés 10 Date d'inscription mercredi 9 juillet 2014 Statut Membre Dernière intervention 24 juillet 2014 - 24 juil. 2014 à 17:39
J@mes Messages postés 10 Date d'inscription mercredi 9 juillet 2014 Statut Membre Dernière intervention 24 juillet 2014 - 24 juil. 2014 à 17:39
A voir également:
- Macro : Récup liste sans doublons de deux feuilles
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
- Macro souris ✓ - Forum Windows
7 réponses
Bonjour,
Essayes ce fichier, ça devrait faire l'affaire :
http://cjoint.com/?0GrpjgztQg4
La Macro se trouve en feuille3 dans le VBA editor.
N'hésites pas si tu as des question ?
Bonne journée
Essayes ce fichier, ça devrait faire l'affaire :
http://cjoint.com/?0GrpjgztQg4
La Macro se trouve en feuille3 dans le VBA editor.
N'hésites pas si tu as des question ?
Bonne journée
J@mes
Messages postés
10
Date d'inscription
mercredi 9 juillet 2014
Statut
Membre
Dernière intervention
24 juillet 2014
9 juil. 2014 à 16:41
9 juil. 2014 à 16:41
Je me suis enregistré du coup mais je ne peux plus modifier mon message.
J@mes
Messages postés
10
Date d'inscription
mercredi 9 juillet 2014
Statut
Membre
Dernière intervention
24 juillet 2014
11 juil. 2014 à 16:48
11 juil. 2014 à 16:48
Je me permet une petite relance.
Es qu'il manque quelque chose ? Un détail ou autre ?
Par avance merci
Es qu'il manque quelque chose ? Un détail ou autre ?
Par avance merci
J@mes
Messages postés
10
Date d'inscription
mercredi 9 juillet 2014
Statut
Membre
Dernière intervention
24 juillet 2014
15 juil. 2014 à 12:31
15 juil. 2014 à 12:31
https://www.cjoint.com/?0GpmFjYWnE5
Je remet à jours le lien pour 21 jours.
Je remet à jours le lien pour 21 jours.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
clic85
Messages postés
4
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
17 juillet 2014
Modifié par clic85 le 17/07/2014 à 14:06
Modifié par clic85 le 17/07/2014 à 14:06
Pas besoin de macro ...
Alors ton 1er problème vient du faite que lorsque tu utilises RECHERCHEV(A1 dans une cellule de ZZZ, ton A1 pointe sur une cellule vide, il devrait aller pointer sur une cellule de la feuille XXX... mais du coup il y a une petite astuce ... j'ai vu ca en partant de ton fichier ...
pour récap de manière propre dans ta feuille ZZZ
Colonne A =RECHERCHEV(xxx!A2;yyy!$A$2:$R$2036;1;FAUX) => démarre bien en A2 car tes lignes en 1 sont des titres ...
Colonne B =RECHERCHEV(xxx!A2;yyy!$A$2:$R$2036;5;FAUX)
etc pour tes autres colonnes ...
Ensuite selectionne ta colonne A, puis fait Accueil/Mise en forme conditionnel/regle de mise en surbrillance / doublon ...
Tes cellules seront colorés lorsqu'elles sont en doublons ...
Selectione ntoutes tes colonnes utiles et fait FILTRE ... comme ca ensuite sur ta colonne A, il reste à faire un tri dessus sur la couleur, et elles seront regroupés, tu pourras alors supprimer à la main tes doublons.
NB: lorsque j'utilise la fonction rechercheV de manière ponctuelle, je recopie mes résultats avec COPIER/VALEUR ... comme ca je peux supprimer par ex les autres feuilles :)
Alors ton 1er problème vient du faite que lorsque tu utilises RECHERCHEV(A1 dans une cellule de ZZZ, ton A1 pointe sur une cellule vide, il devrait aller pointer sur une cellule de la feuille XXX... mais du coup il y a une petite astuce ... j'ai vu ca en partant de ton fichier ...
pour récap de manière propre dans ta feuille ZZZ
Colonne A =RECHERCHEV(xxx!A2;yyy!$A$2:$R$2036;1;FAUX) => démarre bien en A2 car tes lignes en 1 sont des titres ...
Colonne B =RECHERCHEV(xxx!A2;yyy!$A$2:$R$2036;5;FAUX)
etc pour tes autres colonnes ...
Ensuite selectionne ta colonne A, puis fait Accueil/Mise en forme conditionnel/regle de mise en surbrillance / doublon ...
Tes cellules seront colorés lorsqu'elles sont en doublons ...
Selectione ntoutes tes colonnes utiles et fait FILTRE ... comme ca ensuite sur ta colonne A, il reste à faire un tri dessus sur la couleur, et elles seront regroupés, tu pourras alors supprimer à la main tes doublons.
NB: lorsque j'utilise la fonction rechercheV de manière ponctuelle, je recopie mes résultats avec COPIER/VALEUR ... comme ca je peux supprimer par ex les autres feuilles :)
J@mes
Messages postés
10
Date d'inscription
mercredi 9 juillet 2014
Statut
Membre
Dernière intervention
24 juillet 2014
21 juil. 2014 à 11:22
21 juil. 2014 à 11:22
Bonjour Clic85,
Navré je n'avais pas vue ta réponse,
Je viens d'essayer les fonctions que tu me propose,
Ta première fonction récupère les doublons de xxx et yyy mais pas le reste.
Sur les feuilles xxx et yyy à la ligne 7 il y a bien deux noms différents justement pour pouvoir les récupérer.
Du coup là si il y a doublon c'est qu'il y a un doublon sur xxx et yyy.
En tout cas merci car ca me permet de peaufiner mes fonctions, en soit je ne pense pas que ca pose problème de commencer en A1 mais je vais suivre ton conseil en effet c'est bien plus logique et merci :)
De même pour les doublons en effet j'avais zapé la mise en forme conditionnelle qui dans ce cas m'arrange bien.
Merci clic85 pour ces informations mais il reste toujours ce problème de récupérer la colonne A de xxx et yyy dans liste zzz
Navré je n'avais pas vue ta réponse,
Je viens d'essayer les fonctions que tu me propose,
Ta première fonction récupère les doublons de xxx et yyy mais pas le reste.
Sur les feuilles xxx et yyy à la ligne 7 il y a bien deux noms différents justement pour pouvoir les récupérer.
Du coup là si il y a doublon c'est qu'il y a un doublon sur xxx et yyy.
En tout cas merci car ca me permet de peaufiner mes fonctions, en soit je ne pense pas que ca pose problème de commencer en A1 mais je vais suivre ton conseil en effet c'est bien plus logique et merci :)
De même pour les doublons en effet j'avais zapé la mise en forme conditionnelle qui dans ce cas m'arrange bien.
Merci clic85 pour ces informations mais il reste toujours ce problème de récupérer la colonne A de xxx et yyy dans liste zzz
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
12 juil. 2014 à 12:38
12 juil. 2014 à 12:38
Bonjour,
Mon code (qui n'est pas vraiment le mien) marche très bien, je m'en sers pour créer une liste à partir d'une colonne que des utilisateurs remplissent progressivement et la formule en extrait les valeurs sans doublon et sans espace.
PS; excel 2007 pour ma part
Après si je n'ai pas compris sa demande c'est autre chose..
--
Mon code (qui n'est pas vraiment le mien) marche très bien, je m'en sers pour créer une liste à partir d'une colonne que des utilisateurs remplissent progressivement et la formule en extrait les valeurs sans doublon et sans espace.
PS; excel 2007 pour ma part
Après si je n'ai pas compris sa demande c'est autre chose..
--
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
Modifié par pijaku le 17/07/2014 à 13:01
Modifié par pijaku le 17/07/2014 à 13:01
Tu vas devoir utiliser les Macros VBA !!
Voici le code à faire pour extraire d'une colonne donnée une liste sans doublon et espaces vides supprimés :
Dans ce code, la colonne source est "b" alors que la colonne de destination est "c" :
Dans ton cas précis, si tu dois prendre les colonnes xxx-A:A et yyy-A:A et pour les réunir dans zzz-A:A et zzz-B:B (par exemple), alors tu vas devoir d'abord définir une plage de destination pour la macro ("c" dans le code) dans la MEME feuille, à savoir xxx pour la première fois et yyy la seconde.
Une fois que tu as affecté à un bouton (qui lui peut être dans zzz) aux deux macros, il te suffit en zzz de mettre en colonne (en A:A et B:B dans la logique de notre exemple) les références aux colonnes de destination que tu auras choisies.
En espérant que ça marche ;)
Voici le code à faire pour extraire d'une colonne donnée une liste sans doublon et espaces vides supprimés :
Dans ce code, la colonne source est "b" alors que la colonne de destination est "c" :
Sub ListeSansDoublons() Application.ScreenUpdating = False With Range("c1:c9000") .ClearContents .Interior.ColorIndex = xlNone End With Set mondico = CreateObject("Scripting.Dictionary") b = Range("b1", [b65000].End(xlUp)).Value For Each c In b mondico(c) = "" Next c [x2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys) End Sub
Dans ton cas précis, si tu dois prendre les colonnes xxx-A:A et yyy-A:A et pour les réunir dans zzz-A:A et zzz-B:B (par exemple), alors tu vas devoir d'abord définir une plage de destination pour la macro ("c" dans le code) dans la MEME feuille, à savoir xxx pour la première fois et yyy la seconde.
Une fois que tu as affecté à un bouton (qui lui peut être dans zzz) aux deux macros, il te suffit en zzz de mettre en colonne (en A:A et B:B dans la logique de notre exemple) les références aux colonnes de destination que tu auras choisies.
En espérant que ça marche ;)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 12/07/2014 à 11:00
Modifié par michel_m le 12/07/2014 à 11:00
Bonjour
Tu es vraiment sûr de ce que tu as proposé, as tu testé ton code ?
A mon avis, tu ne rends pas du tout service à James, bien au contraire....
Tu es vraiment sûr de ce que tu as proposé, as tu testé ton code ?
A mon avis, tu ne rends pas du tout service à James, bien au contraire....
J@mes
Messages postés
10
Date d'inscription
mercredi 9 juillet 2014
Statut
Membre
Dernière intervention
24 juillet 2014
15 juil. 2014 à 12:42
15 juil. 2014 à 12:42
Merci Theor.R de ta réponse,
Alors en effet je doute (sans l'avoir testé pour le moment) que cela ne marche.
Je dois copier (non couper) XXX-A:A et yyy-A:A pour les réunir dans zzz-A:A dans la colonne B j'ai déjà des valeurs.
Si je dois modifier mon tableau en ajoutant des colonnes ce n'est pas un problème je pourrais toujours cacher les colonnes qui n'ont pas besoin d'être vue.
J'ai l'impression que ce n'est pas si simple.
Merci en tout cas de votre aide :)
Alors en effet je doute (sans l'avoir testé pour le moment) que cela ne marche.
Je dois copier (non couper) XXX-A:A et yyy-A:A pour les réunir dans zzz-A:A dans la colonne B j'ai déjà des valeurs.
Si je dois modifier mon tableau en ajoutant des colonnes ce n'est pas un problème je pourrais toujours cacher les colonnes qui n'ont pas besoin d'être vue.
J'ai l'impression que ce n'est pas si simple.
Merci en tout cas de votre aide :)
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
Modifié par pijaku le 17/07/2014 à 13:03
Modifié par pijaku le 17/07/2014 à 13:03
j'avais oublié de modifier une variable dans mon code (à savoir [x2] en [c2]), pas étonnant s'il ne marchait alors pas ! Voici la version corrigée qui devrait marcher (c'est en tout cas ok sur mon tableur).
Sub ListeSansDoublons() Application.ScreenUpdating = False With Range("c1:c9000") .ClearContents .Interior.ColorIndex = xlNone End With Set mondico = CreateObject("Scripting.Dictionary") b = Range("b1", [b65000].End(xlUp)).Value For Each c In b mondico(c) = "" Next c [c2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys) End Sub
J@mes
Messages postés
10
Date d'inscription
mercredi 9 juillet 2014
Statut
Membre
Dernière intervention
24 juillet 2014
16 juil. 2014 à 15:03
16 juil. 2014 à 15:03
Je te remercie Theo.R,
Mais j'ai aucune notions en VBA.
De ce que je comprends tu fais appel a une colonne C et B mais il n'y a aucune donnée a rechercher sur ces colonnes.
J'ai essayé de présenter un exemple en pièce jointe avec mon besoin afin qu'il soit "imagé" et que cela facilite la compréhension de mon problème.
Mais j'ai aucune notions en VBA.
De ce que je comprends tu fais appel a une colonne C et B mais il n'y a aucune donnée a rechercher sur ces colonnes.
J'ai essayé de présenter un exemple en pièce jointe avec mon besoin afin qu'il soit "imagé" et que cela facilite la compréhension de mon problème.
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
16 juil. 2014 à 15:21
16 juil. 2014 à 15:21
Ok j'ai pris ton doc et ai mis deux fois le code que je t'ai donné en adaptant les colonnes (il fallait comprendre que mon C et B sont à adapter comme je l'avais dit).
Le doc :
https://www.cjoint.com/?DGqpst4kxJ
Par contre je n'ai pas saisi où afficher les deux listes en zzz, je te laisse cette dernière étape maintenant que tu as les listes sans doublon.
P.S: VBA n'est pas compliqué à ce niveau, si dans le code tu remplaces les "c" par des "a" pour désigner les colonnes, alors la macro va faire la même opération mais sur les "a" et non plus les "c".
Le doc :
https://www.cjoint.com/?DGqpst4kxJ
Par contre je n'ai pas saisi où afficher les deux listes en zzz, je te laisse cette dernière étape maintenant que tu as les listes sans doublon.
P.S: VBA n'est pas compliqué à ce niveau, si dans le code tu remplaces les "c" par des "a" pour désigner les colonnes, alors la macro va faire la même opération mais sur les "a" et non plus les "c".