Liste sans doublon trier sur la 4ème colonne

Résolu/Fermé
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 - Modifié par Mouftie le 10/09/2013 à 08:37
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 - 16 sept. 2013 à 23:38
Bonjour,
Je cherche à récupérer une liste (feuille BdD) extraite d'une autre liste (feuille Infos).
J'ai trouvé un code que j'ai voulu adapter, mais je n'y arrive pas.

Dim DeBlg As Long, DerLg As Long
DeBlg = Sheets("BdD").Range("D65000").End(xlUp).Row + 1
DerLg = Sheets("infos").Range("D65000").End(xlUp).Row + DeBlg - 1
Sheets("BdD").Activate
Sheets("Infos").Range("TabAg[[Expérim]:[Sct]]").AdvancedFilter Action:=xlFilterCopy _
, CopyToRange:=Range("B" & DeBlg), Unique:=Truele


Le pb, c'est que je voudrai désigner la colonne qui contient les doublons et en plus, j'ai des exigences :
1.que le filtre se fasse sur la 4ème colonne (Nom) et non sur la 1ère
2.que la liste vienne s'intégrer au tableau7 en gardant si possible la mise en forme (mais ça je pourrai le reprendre avec une mise en forme conditionnelle).
3.Enfin que la colonne Sct soit déplacer en colonne O du tableau7 de destination
https://www.cjoint.com/c/CIjlmrjbM2L
Merci pour votre aide
A voir également:

13 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
10 sept. 2013 à 10:52
Bonjour,

Ce n'est pas limpide pour moi...
Au final, tu auras juste les onglets 'Infos' et 'BdD' ?
L'onglet 'Infos' ne comprend pas à chaque instant les lignes de 'BdD' ?
Sct correspond à un identifiant unique ? => Si on évite les doublons sur ce nombre, c'est bon ?

A+
0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
11 sept. 2013 à 10:04
Bonjour Zoul67,
Merci de ta réponse.
L'onglets Infos est ma table de références qui me sert dans d'autres onglets et même d'autres tableurs. Elle sert également à des menus déroulants

il y a effectivement des doublons dans la colonne Sct, mais ce sont les mêmes que ceux de la colonne Nom ; donc si on supprime les doublons à partir de la colonne Nom, cela supprime ceux de la colonne Sct.

Chaque mois, je prends la liste dans l'onglet Infos, je la copie (sans doublons) sur l'onglet BdD, ensuite je vais remplir les autres colonnes de la BdD avec des données provenant d'autres sources.

J'espère avoir été plus claire
0
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 1 450
11 sept. 2013 à 17:51
Bonjour,
C'est tout sauf claire comme explication !
Est-ce que par hasard vous voulez réaliser ce qui suit :
Copier les colonnes [N°, Nom et Sct] sans doublons de la feuille [Infos] et les coller sur la feuille [BdB] dans les colonnes [Dépt, Agences et Secteur] ..... ?

0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
12 sept. 2013 à 16:15
Bonjour Le Pingou,
Merci de ta réponse.
Dans le fichier joint, il y a 3 onglets :
Infos (données à copier - colonnes A:E, soit TabAg[[Expérim]:[Sct]]
BdD Feuille où doivent être coller, sans doublons, les données à partir de la 1ère ligne disponible (ici 8) sur les colonnes B à E pour les données Expérim, N° Dép, Pôle, Nom et colonne O pour les Sct.
Résultats svp, pour montrer le résultat attendu.

J'ai de mon côté continué à chercher, j'y arrive semble t'il en créant une feuille pour le travail intermédiaire, mais je pense qu'avec des variables tableaux, ce serait plus propre et plus rapide.
Pour info, voici mon code :
Sub RécupTabAgNom()
Dim DeBlg As Long, DerLg As Long
'On crée une feuille provisoire de transfert sans doublon
Sheets.Add.Name = "ListAg"

DeBlg = Sheets("BdD").Range("D65000").End(xlUp).Row + 1
DerLg = Sheets("infos").Range("D65000").End(xlUp).Row + DeBlg - 1
'Copie de la liste des agences d'après Infos sur ListAg
' Sheets("BdD").Activate
Worksheets("infos").Range("TabAg[[Expérim]:[Sct]]").Copy
Worksheets("ListAg").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'suppression des doublons
Sheets("ListAg").Range("A:F").RemoveDuplicates Columns:=4, Header:=xlNo
'déplacement de la colonne Sct
Range("E:E").Cut Destination:=Range("N:N")
'Transfert de la liste dans BdD
Range("A1:N" & Range("N" & Rows.Count).End(xlUp).Row + 2).Cut Destination:=Sheets("BdD").Range("B" & DeBlg)
Application.displayalert = False
Sheets("ListAg").Delete
End Sub

A la sortie, mes données sont bonnes et ajoutées au tableau7. j'ai encore des soucis de mise en forme, il faut que j'efface toute la mise en forme et que je la refasse (j'ai une colonne ("C2") qui n'a plus les couleurs du tableau...)
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 1 450
12 sept. 2013 à 21:30
Bonjour,
Merci pour l'information.
Il me semble avoir compris ce que vous voulez réaliser, cependant votre code n'est pas bon, je regarderai demain.
Note : ce n'est vraiment pas une bonne idée d'avoir des titres de colonne qui sont différents entre la source et la cible... !

0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
13 sept. 2013 à 11:10
Merci Le Pingou,
Je suis autodidacte, cela me semblait bien de mettre des noms légèrement différents (Sct = Secteur) pour ne pas mélanger me mélanger dans les sources, mais je vois le pb, je vais donc changer de procéder.
A bientôt donc.
0
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 1 450
13 sept. 2013 à 15:33
Bonjour,
Ne changer rien, cela marche aussi, il faut juste faire attention.
Je dois m'absenter et je pense en fin de journée ce sera terminé

0
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 1 450
13 sept. 2013 à 17:42
Bonjour,
Ma proposition sur la base de votre fichier : https://www.cjoint.com/?3InrP6UkK6Z

0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
16 sept. 2013 à 11:00
Bonjour Le Pingou,
C'est exactement ce que je voulais ; même si je ne maîtrise pas encore les Array, j'ai déjà à peu près tout compris de ta procédure ; avec qq autres exo, j'y arriverai...
Je n'ai plus qu'à faire une mise en forme conditionnelle par dessus.
Y a pas à dire, faut que j'arrive à faire des tableaux Array, c'est super rapide.

Mille fois merci pour tes explications, ta patience et ton boulot bien sûr.
0
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 1 450
16 sept. 2013 à 11:11
Bonjour,
Comme vous travaillez avec un tableau Excel inséré sur la feuille, qu'elle est le problème de mise en forme ....?
0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
16 sept. 2013 à 18:15
Merci Le Pingou pour ta proposition de continuer à m'aider.
je désire simplement garder les mises en forme de la feuille Infos pour les noms : * certains noms sont surlignés en jaune,
* toutes les noms commençant par Tota la ligne doit être avec une police gras et en bleu,
* toutes les lignes dont le N° Dép est 98 doivent avoir un fond rose clair
* toutes les lignes dont le N° Dép est 99 doivent avoir un fond rose foncé

le but est de mettre en valeur certaines références on compare chaque secteur, puis chaque dép, puis chaque région et enfin l'entreprise
0
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 1 450
16 sept. 2013 à 22:57
Bonjour,
Avec la mise en forme conditionnelle cela devrait marcher.
C'est presque tout clair sauf pour : * certains noms sont surlignés en jaune,
Est-ce que cela concerne les noms dont la cellule de la colonne [Expérim] contient la valeur [Exp.. ! ?

0
Le Pingou Messages postés 12197 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 20 novembre 2024 1 450
16 sept. 2013 à 23:38
Bonjour,
Est-ce que cela correspond à votre demande : https://www.cjoint.com/?3IqxMldvdtI

0