Comment supprimer des valeur en double sur une même ligen
Résolu
Alivander
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Alivander Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Alivander Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai 2 fichier excel avec identifiant et des codes sur 6 caractères.
Il y a des données qui sont en doubles ou manquant dans l'une ou l'autre fichier afin de faire des mises à jour.
Avez-vous une formule magique pour moi?
Merci.
Exemple :
Fichier 1 :
id code1 code2 code3
abc001 040506 124569 236898
abc002 060708 254856 232347
abc003 060912 125698 367456
abc004 010523 212478 851269
abc005 010210 236585 367852
abc006 150120 125698 021458
abc007 120230 125896 0
abc008 150385 129745 0
abc009 850706 235669 0
abc010 980512 120845 0
abc011 451265 236801 361205
abc012 459878 236895 326987
Fichier2 :
id code1 code2 code3
abc001 124570 021458 040506
abc002 124571 0 060708
abc003 124572 0 060912
abc004 212479 0 010523
abc005 124574 0 010210
abc006 125699 126989 235698
abc007 124576 326987 025698
abc008 124577 125698 150385
abc009 235670 0 850706
abc010 124579 0 980512
abc011 236802 125878 451265
abc012 124581 236987 459878
J'ai 2 fichier excel avec identifiant et des codes sur 6 caractères.
Il y a des données qui sont en doubles ou manquant dans l'une ou l'autre fichier afin de faire des mises à jour.
Avez-vous une formule magique pour moi?
Merci.
Exemple :
Fichier 1 :
id code1 code2 code3
abc001 040506 124569 236898
abc002 060708 254856 232347
abc003 060912 125698 367456
abc004 010523 212478 851269
abc005 010210 236585 367852
abc006 150120 125698 021458
abc007 120230 125896 0
abc008 150385 129745 0
abc009 850706 235669 0
abc010 980512 120845 0
abc011 451265 236801 361205
abc012 459878 236895 326987
Fichier2 :
id code1 code2 code3
abc001 124570 021458 040506
abc002 124571 0 060708
abc003 124572 0 060912
abc004 212479 0 010523
abc005 124574 0 010210
abc006 125699 126989 235698
abc007 124576 326987 025698
abc008 124577 125698 150385
abc009 235670 0 850706
abc010 124579 0 980512
abc011 236802 125878 451265
abc012 124581 236987 459878
A voir également:
- Comment supprimer des valeur en double sur une même ligen
- Double ecran - Guide
- Supprimer rond bleu whatsapp - Guide
- Comment supprimer une page sur word - Guide
- Whatsapp double sim - Guide
- Comment supprimer une application préinstallée sur android - Guide
27 réponses
Bonjour
Q1. Et tu veux obtenir quoi?
Q2. Ordre de grandeur du nombre de lignes à traiter
Q3. Les données sont elles sur 2 feuilles d'un même fichier ou sur deux fichiers
Cdlmnt
Q1. Et tu veux obtenir quoi?
Q2. Ordre de grandeur du nombre de lignes à traiter
Q3. Les données sont elles sur 2 feuilles d'un même fichier ou sur deux fichiers
Cdlmnt
Bonjour,
1) Je veux obtenir les codes présents dans le fichier 1 et absent dans le fichier 2 (et inversement les codes présent dans le 2éme fichier et absents du 1er si possible)
.
2) Le 1er fichier 95 000 lignes sur 12 colonnes et le 2éme fichier 87 000 lignes également sur 12 colonnes.
3) Les donnés sont sur 2 fichiers excel mais je peux également les avoir sur 2 feuilles d'un fichier.
Au final je veux faire un état des lieux et faire des mises à jour en complétant les données manquant dans l'un ou l'autre fichier.
Merci.
1) Je veux obtenir les codes présents dans le fichier 1 et absent dans le fichier 2 (et inversement les codes présent dans le 2éme fichier et absents du 1er si possible)
.
2) Le 1er fichier 95 000 lignes sur 12 colonnes et le 2éme fichier 87 000 lignes également sur 12 colonnes.
3) Les donnés sont sur 2 fichiers excel mais je peux également les avoir sur 2 feuilles d'un fichier.
Au final je veux faire un état des lieux et faire des mises à jour en complétant les données manquant dans l'un ou l'autre fichier.
Merci.
Je reviens sur Q1.
Q1. Dans ton exemple à l'identifiant abc001 il y a
- trois codes en feuille1
- trois codes en feuille 2
Ces 6 codes sont différents
Et c'est la même chose pour les autres identifiants
Que doit on faire avec ça?
Au final je veux faire un état des lieux et faire des mises à jour en complétant les données manquant dans l'un ou l'autre fichier.
veux tu une liste avec abc001 et les 6 codes?
Q2. Je veux obtenir les codes présents dans le fichier 1 et absent dans le fichier 2 (et inversement les codes présent dans le 2éme fichier et absents du 1er si possible)
Est ce indispensable (vu la taille) ou on se contente d'une compil adéquate (au sens de ta réponse à Q1) des deux fichiers
Peux tu envoyer sur cjoint.com une partie significative de ton fichier (tu mets quelques dizaines de lignes de chaque fichier dans deux feuilles différentes, ce sera plus simple) au format excel 2003 et joindre le lien obtenu à ton prochain message
Q1. Dans ton exemple à l'identifiant abc001 il y a
- trois codes en feuille1
- trois codes en feuille 2
Ces 6 codes sont différents
Et c'est la même chose pour les autres identifiants
Que doit on faire avec ça?
Au final je veux faire un état des lieux et faire des mises à jour en complétant les données manquant dans l'un ou l'autre fichier.
veux tu une liste avec abc001 et les 6 codes?
Q2. Je veux obtenir les codes présents dans le fichier 1 et absent dans le fichier 2 (et inversement les codes présent dans le 2éme fichier et absents du 1er si possible)
Est ce indispensable (vu la taille) ou on se contente d'une compil adéquate (au sens de ta réponse à Q1) des deux fichiers
Peux tu envoyer sur cjoint.com une partie significative de ton fichier (tu mets quelques dizaines de lignes de chaque fichier dans deux feuilles différentes, ce sera plus simple) au format excel 2003 et joindre le lien obtenu à ton prochain message
Bonjour,
Ci-joint le lien https://www.cjoint.com/?3FEvCRkcgym
Je veux faire un état des lieux et faire des mises à jour en complétant les données manquant dans l'un ou l'autre fichier.
L'idéale c'est d'avoir :
- une liste avec les données présent dans le fichier 1 et absent du fichier 2
- une liste avec les données présent dans le fichier 2 et absent dans le fichier 1
Ah oui, il peut y avoir deux codes identiques pour un même ID.
Si tu arrive à me trouver une formule ça serait super! J'ai essayé avec la Recherche V, ça marche pas.
Merci.
Ci-joint le lien https://www.cjoint.com/?3FEvCRkcgym
Je veux faire un état des lieux et faire des mises à jour en complétant les données manquant dans l'un ou l'autre fichier.
L'idéale c'est d'avoir :
- une liste avec les données présent dans le fichier 1 et absent du fichier 2
- une liste avec les données présent dans le fichier 2 et absent dans le fichier 1
Ah oui, il peut y avoir deux codes identiques pour un même ID.
Si tu arrive à me trouver une formule ça serait super! J'ai essayé avec la Recherche V, ça marche pas.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il va falloir passer par des macros,
et vu la taille des fichiers, il faudra optimiser, il me faut quelques précisions
Q1. Est ce que tous les ID sont présents dans les deux feuilles
Q2. Et un ID quelconque se trouve t' il toujours dans la même ligne dans les deux feuilles
Je suppose que la réponse est non aux deux questions(et c'est bien dommage), mais on ne sait jamais!
et vu la taille des fichiers, il faudra optimiser, il me faut quelques précisions
Q1. Est ce que tous les ID sont présents dans les deux feuilles
Q2. Et un ID quelconque se trouve t' il toujours dans la même ligne dans les deux feuilles
Je suppose que la réponse est non aux deux questions(et c'est bien dommage), mais on ne sait jamais!
Salut,
Q1. OUI, tous les ID se trouvent dans les 2 feuilles (j'ai fais une requête de non correspondance pour isolées les ID non présents dans l'un ou l'autre fichier).
Q2.tous les ID se trouvent toujours dans la colonnes A des deux fichiers (tri par ordre croissant).
Les seules choses qui changes :
- c'est des codes présent dans le fichier 1 et absent du fichier 2 ou inversement
- les codes ne se situent pas au même endroit sur les fichiers (ex le code 1 se trouve à la cellule b2 dans le fichier 1 et ce même code peut se trouver sur la cellule c3 du fichier2).
Vu la taille, on peux peut être couper le fichier en plusieurs morceaux (du code qui commence par AB001 à AX999)?
J'ai pensais à cette formule =NB.SI(code1;$D1)>0; ou une formule logique SI
Une formule qui permet de rapporter que les différences entre les codes des 2 fichiers suivant l'identifiant.
Merci.
Q1. OUI, tous les ID se trouvent dans les 2 feuilles (j'ai fais une requête de non correspondance pour isolées les ID non présents dans l'un ou l'autre fichier).
Q2.tous les ID se trouvent toujours dans la colonnes A des deux fichiers (tri par ordre croissant).
Les seules choses qui changes :
- c'est des codes présent dans le fichier 1 et absent du fichier 2 ou inversement
- les codes ne se situent pas au même endroit sur les fichiers (ex le code 1 se trouve à la cellule b2 dans le fichier 1 et ce même code peut se trouver sur la cellule c3 du fichier2).
Vu la taille, on peux peut être couper le fichier en plusieurs morceaux (du code qui commence par AB001 à AX999)?
J'ai pensais à cette formule =NB.SI(code1;$D1)>0; ou une formule logique SI
Une formule qui permet de rapporter que les différences entre les codes des 2 fichiers suivant l'identifiant.
Merci.
On résume
1. Les deux colonnes 1 des deux fichiers sont identiques (mêmes ID classés par ordre alphabétique croissant)
2. un code donné peut se trouver plusieurs fois dans une feuille
3. un code donné peut se trouver à des adresses différentes dans les deux feuilles
4. tu veux obtenir uniquement
4.1. Les codes du fichier 1 qui ne sont pas dans le fichier 2
4.2. Les codes du fichier 2 qui ne sont pas dans le fichier 1
4.3. et ceci, sans attacher ces codes à des ID
Pour y voir plus clair, peux tu compléter ce mini exemple histoire de voir
- si j'ai compris
- exactement ce que tu veux obtenir
https://www.cjoint.com/?3GbpQQ4Q6j3
1. Les deux colonnes 1 des deux fichiers sont identiques (mêmes ID classés par ordre alphabétique croissant)
2. un code donné peut se trouver plusieurs fois dans une feuille
3. un code donné peut se trouver à des adresses différentes dans les deux feuilles
4. tu veux obtenir uniquement
4.1. Les codes du fichier 1 qui ne sont pas dans le fichier 2
4.2. Les codes du fichier 2 qui ne sont pas dans le fichier 1
4.3. et ceci, sans attacher ces codes à des ID
Pour y voir plus clair, peux tu compléter ce mini exemple histoire de voir
- si j'ai compris
- exactement ce que tu veux obtenir
https://www.cjoint.com/?3GbpQQ4Q6j3
Tu trouveras sur le lien ci-dessous le résultat attendue :
https://www.cjoint.com/?3GbqX4I3lTD
J'ai copié sur la même feuilles les données du fichier 1 et 2 par ID, ensuite il faut une formule qui ne fait apparaitre que les différences entre les codes.
Dans le résultat attendue on s'en fiche de l'ordre des codes, l'important c'est de savoir s'ils sont présent ou non dans l'une autre fichier pour saisir seulement les données manquants dans l'une ou l'autre fichier.
Merci.
https://www.cjoint.com/?3GbqX4I3lTD
J'ai copié sur la même feuilles les données du fichier 1 et 2 par ID, ensuite il faut une formule qui ne fait apparaitre que les différences entre les codes.
Dans le résultat attendue on s'en fiche de l'ordre des codes, l'important c'est de savoir s'ils sont présent ou non dans l'une autre fichier pour saisir seulement les données manquants dans l'une ou l'autre fichier.
Merci.
T'es trop fort! C'est super, ça à l'air de marcher au niveau de l'attendue.
Comment je peux faire pour le tester en grandeur nature avec mes 12 colonnes et 85 000 lignes? Tu as fais une macro?
Merci.
Comment je peux faire pour le tester en grandeur nature avec mes 12 colonnes et 85 000 lignes? Tu as fais une macro?
Merci.
Tu peux d'abord tester sur une centaine de lignes histoire de pouvoir vérifier à la main
Tu copies dans la feuille Fichier1 et dans la feuille Fichier2 tes données (100 lignes, 12 colonnes)
Tu modifies les valeurs des constantes dans le code du Module 1
Clic
Si c'est bon, tu dis, il y aura quelques modifs à faire dans le code
Tu copies dans la feuille Fichier1 et dans la feuille Fichier2 tes données (100 lignes, 12 colonnes)
Tu modifies les valeurs des constantes dans le code du Module 1
Clic
Si c'est bon, tu dis, il y aura quelques modifs à faire dans le code
Je ne vois pas ce que tu veux dire par "modifies les valeurs des constantes dans le code du Module 1"?
J'ai fait un copie coller des 100 1eres lignes sur le fichier 1 et 2.
Ca à l'air de fonctionner, est ce qu'on peut également ajouter la colonne ID dans le fichier attendu ( F1-F2 et F2-F1). Si pas possible, c'est pas gênant je ferais un copier/coller
Ca serait super.
Merci.
J'ai fait un copie coller des 100 1eres lignes sur le fichier 1 et 2.
Ca à l'air de fonctionner, est ce qu'on peut également ajouter la colonne ID dans le fichier attendu ( F1-F2 et F2-F1). Si pas possible, c'est pas gênant je ferais un copier/coller
Ca serait super.
Merci.
1. Pour le nombre de lignes, pas de problème, c'est calculé
2. Pour le nombre de colonnes, je l'ai limité à 8, dans le code (il est dans Module 1 -Alt-F11 pour y accéder, tu modifies les valeurs constantes
Public Const cofin1 = 8
Public Const cofin2 = 8
tu mets 1e nombre de colonnes (12 je crois) de tes fichiers (ID compris)
Dans la version définitive ça se calculera tout seul (comme le nombre de lignes)
3. On peut ajouter une colonne ID dans les feuilles résultat, et la ligne d'en tête
Mais,
le plus important, pour l'instant, c'est de tester sur 100 lignes
Si c'est OK, tu dis
2. Pour le nombre de colonnes, je l'ai limité à 8, dans le code (il est dans Module 1 -Alt-F11 pour y accéder, tu modifies les valeurs constantes
Public Const cofin1 = 8
Public Const cofin2 = 8
tu mets 1e nombre de colonnes (12 je crois) de tes fichiers (ID compris)
Dans la version définitive ça se calculera tout seul (comme le nombre de lignes)
3. On peut ajouter une colonne ID dans les feuilles résultat, et la ligne d'en tête
Mais,
le plus important, pour l'instant, c'est de tester sur 100 lignes
Si c'est OK, tu dis
Avec la colonne ID et maj dela ligne en tête des codes
https://www.cjoint.com/?3GcqlCkSRT8
tu peux tester sur 10000 lignes histoire de voir le temps d'exécution
Restera à voir comment tu veux mettre ça en route
https://www.cjoint.com/?3GcqlCkSRT8
tu peux tester sur 10000 lignes histoire de voir le temps d'exécution
Restera à voir comment tu veux mettre ça en route
J'ai essayé avec 11 000 lignes, temps d'exécution 1,64 secondes
Just un truc, dans le résultat attendue, les codes qui commence 0, le chiffre 0 n'est pas repris (ex : 050612 est transformé en 50612)
A part ça, la macro tourne super bien.
A+
Just un truc, dans le résultat attendue, les codes qui commence 0, le chiffre 0 n'est pas repris (ex : 050612 est transformé en 50612)
A part ça, la macro tourne super bien.
A+
1.64 s, ce n'est pas trop mal pour 11000 lignes.
Pour les "0", il devrait te suffire de mettre les feuilles résultat au format texte
puis un RAZ et un OK
tu essaies
Pour les "0", il devrait te suffire de mettre les feuilles résultat au format texte
puis un RAZ et un OK
tu essaies
Je dirais que c'est même que c très bien :)
Pour les "0", ça marche
AU faite, j'ai essayé avec 60 000 lignes 8.654 s avec un petit message (Excel ne répond pas) puis la macro a quand même tourné au final.
C cool!
Pour les "0", ça marche
AU faite, j'ai essayé avec 60 000 lignes 8.654 s avec un petit message (Excel ne répond pas) puis la macro a quand même tourné au final.
C cool!
Bizarre ce message d'excel
on peut tenter de diminuer la taille du tableau TFG (60000x12) puisque le nombre de codes à afficher par ligne est largement inférieur à 12, ça devrait le soulager un peu
De plus, si la ligne d'entête Code01...Code12 est toujours la même, on peut éviter de la copier a chaque lancement
on peut tenter de diminuer la taille du tableau TFG (60000x12) puisque le nombre de codes à afficher par ligne est largement inférieur à 12, ça devrait le soulager un peu
De plus, si la ligne d'entête Code01...Code12 est toujours la même, on peut éviter de la copier a chaque lancement
Une tentative avec tout exécuté en mémoire
Tu essaies sur 60000 lignes pour voir si ça va plus vite (sur 30 lignes, ça ne saute pas aux yeux) et si le message d'excel est toujours là
https://www.cjoint.com/?3Gcu4jvJ4BW
Tu essaies sur 60000 lignes pour voir si ça va plus vite (sur 30 lignes, ça ne saute pas aux yeux) et si le message d'excel est toujours là
https://www.cjoint.com/?3Gcu4jvJ4BW