OVH Cloud OVH Cloud

comparaison

4 réponses
Avatar
Paul Truong
Bonsoir à tous ,
Je vous remercie de vos lumières mais j'ai une question supplémentaire:
j'ai un fichier "initial"(janvier.xls)environ 40000lignes et un fichier de
"mise à jour"(juin.xls) environ 15000, des personnels de mon entreprise, je
souhaite comparer et extraire vers un autre classeur(ex:comparaison.xls) les
noms qui existent déjà dans le fichier initial pour qu'il ne reste plus des
nouveaux noms afin de pouvoir les intégrer dans une application sachant que
les champs sont identiques sur les deux fchiers.
J'espère que ma demande est claire.
Merci de votre aide
Paul

4 réponses

Avatar
cousinhub
Bonsoir,
juste une petite macro pour te permettre de trouver
les doublons. Ensuite, avec un filtre, tu peux copier ou couper
vers ton 3ème fichier

Set sh2 = Workbooks("janvier.xls").Sheets("Feuil1").Range("a2:a40000")
Set sh1 = Workbooks("juin.xls").Sheets("Feuil1")

For Each c In sh2
MaValeur = c.Value

If MaValeur <> "" Then

Set Plage = sh1.Columns("A:A").Cells.Find(MaValeur, lookat:=xlWhole)

If Not Plage Is Nothing Then

c.Range("f1") = "déjà là" 'ou la colonne de ton choix,mais
garde
Else 'le "1", l'adressage
étant relatif. **
c.Range("f1") = ""
End If
End If
Next
End Sub

**si tes données ne sont pas dans la colonne A, rajoute autant de lettres
que tu veux de colonnes d'écart (exemple : données en colonne "C" mets "H"
pour écrire le résultat 6 colonnes après
bon courage


Bonsoir à tous ,
Je vous remercie de vos lumières mais j'ai une question supplémentaire:
j'ai un fichier "initial"(janvier.xls)environ 40000lignes et un fichier de
"mise à jour"(juin.xls) environ 15000, des personnels de mon entreprise, je
souhaite comparer et extraire vers un autre classeur(ex:comparaison.xls) les
noms qui existent déjà dans le fichier initial pour qu'il ne reste plus des
nouveaux noms afin de pouvoir les intégrer dans une application sachant que
les champs sont identiques sur les deux fchiers.
J'espère que ma demande est claire.
Merci de votre aide
Paul



Avatar
JB
Bonjour,

On Extrait dans fich3.xls tous ceux de fich2.xls qui n'existent pas
dans fich1.xls:

http://cjoint.com/?kffgfyGW4Y

Fich2.xls:

Nom Prenom Ville
Dalida Sophie Paris
Souchon Alain
Farmer Mylene
Ceuzin Chantale
Brassens Georges Lyon
Martin Daniel Bordeaux
Balu Thierry Marseille

Fich1.xls:

Nom Prenom Ville
Dalida Sophie Paris
Souchon Alain
Farmer Mylene
Ceuzin Chantale

Fich3.xls:

Nom Prenom Ville


Critère en E2:
=NB.SI([fich1.xls]Feuil1!$A$2:$A$20000;[fich2.xls]Feuil1!A2)=0

-Données/Filtrer/Filtre élaboré
-Spécifier la base: A1:C40000 de fich2.xls
-Spécifer le critère:E1:E2
-Destination:A1:C1

En Vba:
Sub extrait()

Workbooks("fich2.xls").Sheets("Feuil1").Range("A1:40000").AdvancedFilter
Action _
:=xlFilterCopy, CriteriaRange:=[e1:e2], CopyToRange:=[a1:c1]
End Sub

Cordialement JB


Bonsoir à tous ,
Je vous remercie de vos lumières mais j'ai une question supplémentair e:
j'ai un fichier "initial"(janvier.xls)environ 40000lignes et un fichier de
"mise à jour"(juin.xls) environ 15000, des personnels de mon entreprise , je
souhaite comparer et extraire vers un autre classeur(ex:comparaison.xls) les
noms qui existent déjà dans le fichier initial pour qu'il ne reste pl us des
nouveaux noms afin de pouvoir les intégrer dans une application sachant que
les champs sont identiques sur les deux fchiers.
J'espère que ma demande est claire.
Merci de votre aide
Paul


Avatar
JB
Supprime dans Fich2.xls ceux qui existent dans Fich1.xls:

http://cjoint.com/?kffQsYl5sU

fich2.xls:

Nom Prenom Ville
Dalida Sophie Paris
Souchon Alain
Farmer Mylene
Ceuzin Chantale
Brassens Georges Lyon
Martin Daniel Bordeaux
Balu Thierry Marseille

fich1.xls
Nom Prenom Ville
Dalida Sophie Paris
Souchon Alain
Farmer Mylene
Ceuzin Chantale


Critère en E2: =NB.SI([fich1.xls]Feuil1!$A$2:$A$20000;A2)=1

Sub suppression()
Range("A1:C40000").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:=Range _
("E1:E2"), Unique:úlse

If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
Range("_FilterDataBase").Offset(1,
0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete
Shift:=xlUp

ActiveSheet.ShowAllData
Else
MsgBox "Annulé"
End If
End Sub

JB



Bonsoir à tous ,
Je vous remercie de vos lumières mais j'ai une question supplémentair e:
j'ai un fichier "initial"(janvier.xls)environ 40000lignes et un fichier de
"mise à jour"(juin.xls) environ 15000, des personnels de mon entreprise , je
souhaite comparer et extraire vers un autre classeur(ex:comparaison.xls) les
noms qui existent déjà dans le fichier initial pour qu'il ne reste pl us des
nouveaux noms afin de pouvoir les intégrer dans une application sachant que
les champs sont identiques sur les deux fchiers.
J'espère que ma demande est claire.
Merci de votre aide
Paul


Avatar
Paul Truong
Bonsoir cousinhub et JB,
Je vous remercie de votre rapidité ,je commence à désespérer mais vous êtes
présent, je vous remercie infiniment je teste et vous informé, quelle chance
que j'ai!
Merci encore à vous deux .
Paul


Bonsoir,
juste une petite macro pour te permettre de trouver
les doublons. Ensuite, avec un filtre, tu peux copier ou couper
vers ton 3ème fichier

Set sh2 = Workbooks("janvier.xls").Sheets("Feuil1").Range("a2:a40000")
Set sh1 = Workbooks("juin.xls").Sheets("Feuil1")

For Each c In sh2
MaValeur = c.Value

If MaValeur <> "" Then

Set Plage = sh1.Columns("A:A").Cells.Find(MaValeur, lookat:=xlWhole)

If Not Plage Is Nothing Then

c.Range("f1") = "déjà là" 'ou la colonne de ton choix,mais
garde
Else 'le "1", l'adressage
étant relatif. **
c.Range("f1") = ""
End If
End If
Next
End Sub

**si tes données ne sont pas dans la colonne A, rajoute autant de lettres
que tu veux de colonnes d'écart (exemple : données en colonne "C" mets "H"
pour écrire le résultat 6 colonnes après
bon courage


Bonsoir à tous ,
Je vous remercie de vos lumières mais j'ai une question supplémentaire:
j'ai un fichier "initial"(janvier.xls)environ 40000lignes et un fichier de
"mise à jour"(juin.xls) environ 15000, des personnels de mon entreprise, je
souhaite comparer et extraire vers un autre classeur(ex:comparaison.xls) les
noms qui existent déjà dans le fichier initial pour qu'il ne reste plus des
nouveaux noms afin de pouvoir les intégrer dans une application sachant que
les champs sont identiques sur les deux fchiers.
J'espère que ma demande est claire.
Merci de votre aide
Paul