Comparer deux colonnes sur excel

Résolu/Fermé
Sophie - 6 janv. 2012 à 12:24
 Sophie - 6 janv. 2012 à 16:11
Bonjour,

Je dois comparer deux séries de données sur un fichier excel.

Sur la première feuille, dans la colonne A, j'ai inscrit la première série.
Sur la deuxième feuille, dans la colonne A, la deuxième série.
J'ai 41 lignes de plus sur la feuille 2.
J'aimerais isoler ces 41 numéros en plus, mais je ne vois pas comment faire.

Quelqu'un aurait une solution à me proposer?

Merci d'avance

A voir également:

5 réponses

Doudou95 Messages postés 1561 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 30 avril 2019 275
6 janv. 2012 à 12:30
tu pourrais poster sur https://www.fichier-xls.fr/ par exemple ton fichier excel et me donner le lien parce que je comprends pas tout là
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
6 janv. 2012 à 12:41
Bonjour,
Une solution par macro vous conviendrait?
0
@ Pijaku : je n'ai jamais fait de macro, mais je peux toujours tenter.

@ Doudou95 : ce sont des séries de 9 chiffres présentés sous cette forme : 111111111.
0
Doudou95 Messages postés 1561 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 30 avril 2019 275
6 janv. 2012 à 13:04
Voila ma question est les 41 valeurs sont à isoler de quelle manière? dans une colonne? une fiche récapitulative?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 6/01/2012 à 13:12
Si tu veux une solution par macro :
1- ouvre le classeur excel concerné,
2- tape : ALT+F11
3- sous VBe (ainsi ouvert) fait : Insertion/Module
4- Copier/Coller le code en entier dans ce module :
Sub ExtractionsDifferencesEntreColonnesAdesDeuxFeuilles() 
Dim Tabl1(), Tabl2() 
Dim MonDico1 As Object, MonDico2 As Object 
Dim c 
Dim Sh1 As Worksheet, Sh2 As Worksheet, Sh3 As Worksheet 
Dim DrLig As Long 

Set Sh1 = Sheets("Feuil1") 
With Sh1 
    DrLig = .Range("A" & Rows.Count).End(xlUp).Row 
    Tabl1 = .Range("A1:A" & DrLig) 
End With 
Set MonDico1 = CreateObject("Scripting.Dictionary") 
For Each c In Tabl1 
    MonDico1(c) = "" 
Next c 

Set Sh2 = Sheets("Feuil2") 
With Sh2 
    DrLig = .Range("A" & Rows.Count).End(xlUp).Row 
    Tabl2 = .Range("A1:A" & DrLig) 
End With 
Set MonDico2 = CreateObject("Scripting.Dictionary") 
For Each c In Tabl2 
    If Not MonDico1.exists(c) Then MonDico2(c) = "" 
Next c 

Set Sh3 = Sheets("Feuil3") 
With Sh3 
    DrLig = .Range("A" & Rows.Count).End(xlUp).Row 
    .Range("A1:A" & DrLig).Clear 
    .Range("A1").Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys) 
End With 
End Sub

---------!! Les adaptations possibles -------------------
5- remplace dans ce code, le nom des feuilles par les noms de tes feuilles en laissant les guillemets. J'ai fait en sorte que cela fonctionne si ta colonne A en Feuil2 contient plus de données que la colonne A en Feuil1...
5 bis- la feuille notée "Feuil3" dans le code est la feuille de restitution. La macro fait la différence entre la colA feuil1 et la ColA Feuil2, et vient coller la liste des différences en Feuil3.
------------Fin des adaptations---------------------------
6- Ferme VBE
7- !!! Enregistre ton classeur Excel sous un autre nom, on ne sait jamais!!!!!
8- Tape ALT+F8, clic sur ExtractionsDifferencesEntreColonnesAdesDeuxFeuilles puis sur Exécuter
9- va voir en Feuil3......

Code basé sur l'exemple de Mr Boisgontier Jacques
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 6/01/2012 à 13:17
Salut pijaku,

Déjà tous mes voeux pour cette nouvelle année :-)
Heuuuu, là c'est pas utiliser un canon pour écraser une mouche ? ;-)

pour le demandeur : fichier exemple par une petite formule : https://forums.commentcamarche.net/forum/affich-24110872-comparer-deux-colonnes-sur-excel#8

eric
0
Doudou95 Messages postés 1561 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 30 avril 2019 275
6 janv. 2012 à 13:18
si elle fait ça régulièrement faudrait peut être ajouter un bouton sur excel avec appel de la macro complémentaire
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 6/01/2012 à 13:25
@Eriiic, Bonjour et mes meilleurs voeux à toi et tes proches.
Heuuuu, là c'est pas utiliser un canon pour écraser une mouche ? ;-) Belle expression! Je la reprendrait pour utilisation personnelle...
Tu as certainement raison. Mais supposons qu'elle n'est que 42 différences sur 48 000 lignes... De plus, sur les conseils de Michel_m, j'étudie les dictionnary depuis hier, alors étant dans le cambouis, j'en profite!! J'ai bien cherché une matricielle qui regrouperait les données, mais mon mal de crâne m'a empêché de continuer........
L'avantage de cette macro étant de regrouper les différences.

@Doudou95 : Bonne année également.
Pourquoi pas. Cependant, lorsqu'on le connais, ALT-F8 est bien et n'encombre pas les pages avec des boutons...
0
Doudou95 Messages postés 1561 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 30 avril 2019 275
6 janv. 2012 à 12:49
J'ai besoin de voir le fichier pour mieux comprendre.
Le tri en soit n'est pas compliquer que ce soit en macro ou non mais la macro par exemple, le code changera.
-1

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

Posez votre question
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
6 janv. 2012 à 12:57
Bonjour,

En supposant que tu as une ligne de titre et que tes données commencent en ligne 2, saisir dans Feuil2!B2 :
=NB.SI(Feuil1!A:A;A2)
et recopier vers le bas.

Les valeurs absentes de feuil1 auront 0 en colonne B.
Reste à filtrer sur cette colonne.

eric
-1
Merci. Je viens de tenter, j'ai comme résultat #NOM? sur toutes les lignes.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 6/01/2012 à 13:10
c'est que tu l'as mal écrite ou tu as un excel pas en français.
pas besoin de macro pour ça...

exemple : https://www.cjoint.com/?BAgnjQHj8bm

eric
0
C'est bon, merci de votre aide à tous!
0