OVH Cloud OVH Cloud

Comparer deux fichiers

12 réponses
Avatar
Nico
Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à l'interieur.
Je voudrais comparer une liste avec l'autre, afin de voire quelles lieux
apparaissent dans les 2 fichiers. Existe t'il une macro pour cela? qqun l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico

10 réponses

1 2
Avatar
SaxBob
Bonjour

Un petit tour sur Excelabo ( http://www.excelabo.net/ faut-il le rappeler)
et voici une macro de Denis Michon (rendons à César).


"J'ai deux tableaux situés sur deux feuilles différentes (même taille). Je
voudrais sur une troisième feuille afficher uniquement les différences entre
ces deux tableaux."

Tes 2 tableaux doivent être de même dimension (ligne et colonne)
Chacun des 2 tableaux (rg1 et rg2 ) peut être situé n'importe où dans
leur feuille respective, en autant qu'il soit de mêmes dimensions.

Il ne te reste plus qu'à renseigner dans la procédure les noms des
feuilles et plage de cellules des 2 tableaux comparatifs et ceux du
tableau des résultat :

Tableau des résultats est construit de cette manière :
En colonne A1 : Adresse du premier tableau
B1 : Valeur du premier tableau à l'adresse de A1
En colonne C1 : Valeur du tableau 2
D1 : Valeur du tableau 2 en C1

-------------------------------
Sub ComparaisonTableau()

Dim RG1 As Range, RG2 As Range
Dim Tblo1, Tblo2, Rg3 As Range
Dim A As Long, B As Integer, C As Long, D As Integer

Set RG1 = Sheets("Feuil1").Range("A1:A10") 'Tabeau 1
Set RG2 = Sheets("Feuil2").Range("A1:A10") 'Tableau 2
Set Rg3 = Sheets("Feuil3").Range("A1") 'Tableau des résultats

If RG1.Rows.Count <> RG2.Rows.Count Then
MsgBox "Le tableau n'a pas le même nombre de lignes"
Exit Sub
End If
If RG1.Columns.Count <> RG2.Columns.Count Then
MsgBox "Le tableau n'a pas le même nombre de colonnes"
Exit Sub
End If

Tblo1 = RG1: Tblo2 = RG2: D = 1
Application.ScreenUpdating = False
For A = 1 To UBound(Tblo1, 1)
For B = 1 To UBound(Tblo1, 2)
If Tblo1(A, B) <> Tblo2(A, B) Then
C = C + 1
Rg3(C, D) = RG1(A, B).Address(0, 0)
Rg3(C, D).Offset(, 1) = Tblo1(A, B)
Rg3(C, D).Offset(, 2) = RG2(A, B).Address(0, 0)
Rg3(C, D).Offset(, 3) = Tblo2(A, B)
End If
Next
Next

Set RG1 = Nothing: Set RG2 = Nothing: Set Rg3 = Nothing
Erase Tblo1: Erase Tblo2
End Sub
Denis Michon, (N°477)

SaxBob

Le 8/12/04 11:10, dans #, « Nico »
a écrit :

Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à l'interieur.
Je voudrais comparer une liste avec l'autre, afin de voire quelles lieux
apparaissent dans les 2 fichiers. Existe t'il une macro pour cela? qqun l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico




Avatar
anomymousA
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question que je
souterais te poser c'est dois tu faire cela automatiquement , car il existe
la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à l'interieur.
Je voudrais comparer une liste avec l'autre, afin de voire quelles lieux
apparaissent dans les 2 fichiers. Existe t'il une macro pour cela? qqun l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico





Avatar
Nico
En fait je pensais a une macro qui allait passer les 2 tableaux en revue et
me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un 3e
tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le message
de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question que
je

souterais te poser c'est dois tu faire cela automatiquement , car il
existe

la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à l'interieur.
Je voudrais comparer une liste avec l'autre, afin de voire quelles lieux
apparaissent dans les 2 fichiers. Existe t'il une macro pour cela? qqun
l'a


t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico







Avatar
anomymousA
re,

en ce cas, la procédure que t'a indiqué Sax Bob entretemps répondra me
semble t-il à ta demande.

Cordialement


En fait je pensais a une macro qui allait passer les 2 tableaux en revue et
me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un 3e
tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le message
de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question que
je

souterais te poser c'est dois tu faire cela automatiquement , car il
existe

la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à l'interieur.
Je voudrais comparer une liste avec l'autre, afin de voire quelles lieux
apparaissent dans les 2 fichiers. Existe t'il une macro pour cela? qqun
l'a


t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico












Avatar
Nico
Ok je vais tester ca. Le prob c'est que mes 2 fichiers n'ont pas la meme
taille et sont différents au niveau des intitulés de colonne.
je vais essayer.
"anomymousA" a écrit dans le message
de news:
re,

en ce cas, la procédure que t'a indiqué Sax Bob entretemps répondra me
semble t-il à ta demande.

Cordialement


En fait je pensais a une macro qui allait passer les 2 tableaux en revue
et


me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un 3e
tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le
message


de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question
que



je
souterais te poser c'est dois tu faire cela automatiquement , car il
existe

la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à l'interieur.
Je voudrais comparer une liste avec l'autre, afin de voire quelles
lieux




apparaissent dans les 2 fichiers. Existe t'il une macro pour cela?
qqun




l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico














Avatar
Nico
Donc, pour comparer correctement mes 2 tableaux, il faut qu'il ait la meme
taille niveau ligne, la meme taille niveaux colonne?
"Nico" a écrit dans le message de
news:%
Ok je vais tester ca. Le prob c'est que mes 2 fichiers n'ont pas la meme
taille et sont différents au niveau des intitulés de colonne.
je vais essayer.
"anomymousA" a écrit dans le
message

de news:
re,

en ce cas, la procédure que t'a indiqué Sax Bob entretemps répondra me
semble t-il à ta demande.

Cordialement


En fait je pensais a une macro qui allait passer les 2 tableaux en
revue



et
me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un
3e



tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le
message


de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question
que



je
souterais te poser c'est dois tu faire cela automatiquement , car il
existe

la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à
l'interieur.





Je voudrais comparer une liste avec l'autre, afin de voire quelles
lieux




apparaissent dans les 2 fichiers. Existe t'il une macro pour cela?
qqun




l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico


















Avatar
Nico
un de mes tableau fait 1700 lignes, l'autre 10000. Il faut que je sache
quelles données du tableau qui fait 1700 lignes apparaissent dans le tableau
qui en fait 10000....
C'est possible ca?
"Nico" a écrit dans le message de
news:%
Ok je vais tester ca. Le prob c'est que mes 2 fichiers n'ont pas la meme
taille et sont différents au niveau des intitulés de colonne.
je vais essayer.
"anomymousA" a écrit dans le
message

de news:
re,

en ce cas, la procédure que t'a indiqué Sax Bob entretemps répondra me
semble t-il à ta demande.

Cordialement


En fait je pensais a une macro qui allait passer les 2 tableaux en
revue



et
me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un
3e



tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le
message


de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question
que



je
souterais te poser c'est dois tu faire cela automatiquement , car il
existe

la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à
l'interieur.





Je voudrais comparer une liste avec l'autre, afin de voire quelles
lieux




apparaissent dans les 2 fichiers. Existe t'il une macro pour cela?
qqun




l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico


















Avatar
Pounet95
Bonjour,
Oui, bien sûr et à mon avis sans VBA uniquement par des fonctions de
recherche.
Dans un premeir temps t'es-t-il possible de mettre par de simples
copier/coller
tes 2 listes dans une feuille d'un nouveau classeur ?
Ensuite ce classeur tu le sauvegardes et tu le mets en pièce jointe
sur le site http://cjoint.com
Je le récupère ( et d'autres aussi ) et je te propose une solution.
OK ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Nico" a écrit dans le message de news:
%
un de mes tableau fait 1700 lignes, l'autre 10000. Il faut que je sache
quelles données du tableau qui fait 1700 lignes apparaissent dans le
tableau
qui en fait 10000....
C'est possible ca?
"Nico" a écrit dans le message de
news:%
Ok je vais tester ca. Le prob c'est que mes 2 fichiers n'ont pas la meme
taille et sont différents au niveau des intitulés de colonne.
je vais essayer.
"anomymousA" a écrit dans le
message

de news:
re,

en ce cas, la procédure que t'a indiqué Sax Bob entretemps répondra me
semble t-il à ta demande.

Cordialement


En fait je pensais a une macro qui allait passer les 2 tableaux en
revue



et
me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un
3e



tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le
message


de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere
question
que



je
souterais te poser c'est dois tu faire cela automatiquement , car
il
existe

la fonction RechercheV sur Excel qui fait ça très bien
manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à
l'interieur.





Je voudrais comparer une liste avec l'autre, afin de voire
quelles
lieux




apparaissent dans les 2 fichiers. Existe t'il une macro pour
cela?
qqun




l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico






















Avatar
anomymousA
re,

pour tout te dire, je n'ai pas essayé, mais en lisant le programme, il est
effectivement assis sur la nécessité d'avoir une identité de lignes et de
colonnes entre les tableaux.

Je peux te proposer autre chose si tu veux.

' Compare les colonnes A et B et inscrit 0 en colonne C lorsque
' une valeur en colonne A existe aussi dans la colonne B
' Détourne l'utilisation de la fonction Match (Equiv) pour trouver
' les données de A qui sont présentes dans B
' John Topley, mpep

Sub CompareTwoColumns()

Dim rngA As Range
Dim rngB As Range

Set rngA = Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
Set rngB = Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp))


For Each cell In rngA
If Not IsError(Application.Match(cell.Value, rngB, 0)) Then
Cells(cell.Row, "C").Value = 0
End If
Next
End Sub


Donc, pour comparer correctement mes 2 tableaux, il faut qu'il ait la meme
taille niveau ligne, la meme taille niveaux colonne?
"Nico" a écrit dans le message de
news:%
Ok je vais tester ca. Le prob c'est que mes 2 fichiers n'ont pas la meme
taille et sont différents au niveau des intitulés de colonne.
je vais essayer.
"anomymousA" a écrit dans le
message

de news:
re,

en ce cas, la procédure que t'a indiqué Sax Bob entretemps répondra me
semble t-il à ta demande.

Cordialement


En fait je pensais a une macro qui allait passer les 2 tableaux en
revue



et
me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un
3e



tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le
message


de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question
que



je
souterais te poser c'est dois tu faire cela automatiquement , car il
existe

la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à
l'interieur.





Je voudrais comparer une liste avec l'autre, afin de voire quelles
lieux




apparaissent dans les 2 fichiers. Existe t'il une macro pour cela?
qqun




l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico























Avatar
anomymousA
Re,

Lisant ton dernier message , ce que tu demandes est tout à fait possible. Je
ne suis pas sur cependant qu'il ne te serait pas plus utile , plus fiable et
surtout plus rapide d'utiliser un vrai gestionnaire de bases de données tel
qu'ACCESS.Mais c'est juste mon avis.


un de mes tableau fait 1700 lignes, l'autre 10000. Il faut que je sache
quelles données du tableau qui fait 1700 lignes apparaissent dans le tableau
qui en fait 10000....
C'est possible ca?
"Nico" a écrit dans le message de
news:%
Ok je vais tester ca. Le prob c'est que mes 2 fichiers n'ont pas la meme
taille et sont différents au niveau des intitulés de colonne.
je vais essayer.
"anomymousA" a écrit dans le
message

de news:
re,

en ce cas, la procédure que t'a indiqué Sax Bob entretemps répondra me
semble t-il à ta demande.

Cordialement


En fait je pensais a une macro qui allait passer les 2 tableaux en
revue



et
me dire ce qu'il y a de similaire.
Je peux pousser le vice en voulant que cette macro m'inscrive dans un
3e



tableau les magasins qui sont en double :-D mais bon.
"anomymousA" a écrit dans le
message


de news:
bonjour,

il existe bien sur des méthodes de comparaison mais la 1ere question
que



je
souterais te poser c'est dois tu faire cela automatiquement , car il
existe

la fonction RechercheV sur Excel qui fait ça très bien manuellement.


Bonjour,

je possède 2 fichiers Excel avec des listes de lieux à
l'interieur.





Je voudrais comparer une liste avec l'autre, afin de voire quelles
lieux




apparaissent dans les 2 fichiers. Existe t'il une macro pour cela?
qqun




l'a
t'il deja fait?
Je suis débutant en vba mais pas en developppement.

Merci a tous ceux qui me liront et ceux qui pourront me repondre.

A++

Nico























1 2