XL 2016 comparer deux fichiers

kenny

XLDnaute Occasionnel
Bonjour,Bonsoir,

Voilà, un traitement va me mettre à disposition un fichier journalier de survey.
Dans ces fichiers je devrais quotidiennement sortir les différences sur la colonne Code (T).
Le nom des onglets sera toujours identiques.

Je voudrais savoir si c'est possible d'avoir une macro qui me compare les deux colonnes et me crée un fichier à part en ramenant les différences du nouveaux fichier journaliers.

Je joins les deux fichiers merci beaucoup encore.
 

Pièces jointes

  • results-survey173518 11 juin 17h00.xlsx
    43.7 KB · Affichages: 18
  • results-survey173518 12 juin 17h00.xlsx
    43.4 KB · Affichages: 7

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonsoir

Une nouvelle approche...
Tu démaquera la colonne "B" et aussi le Filtre à Blank en A2 pour comprendre le mécanismes (le "Found" indique numéro trouvé pour la nouvelle journée)

Bonne découverte
@+Thierry
 

Pièces jointes

  • XLD_Kenny_results-survey-Comparateur_v04.xlsm
    91.1 KB · Affichages: 4

kenny

XLDnaute Occasionnel
Re bonsoir

Une nouvelle approche...
Tu démaquera la colonne "B" et aussi le Filtre à Blank en A2 pour comprendre le mécanismes (le "Found" indique numéro trouvé pour la nouvelle journée)

Bonne découverte
@+Thierry
Ah ! merci cela me va !!
Juste une remarque les 6 nouvelles qu'on avait trouvé avec la version 3 je les retrouvent plus en V4 est ce normale.
En tout cas c 'est vraiment un bon travail merci encore tu as parfaitement compris ce que j'attendais
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Dans la version 4 j'en trouve toujours six nouveaux, sur la journée du 12 (comparée au 11) : (et comme filtré à Blank)

1592242314819.png


Pas 14, comprends pas :eek:
@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonsoir

Je me doutais de la question, mais en fait dans ce double loop sur tableaux :

VB:
For i = LBound(TabSource2, 1) To UBound(TabSource2, 1)
    For ii = LBound(TabSource1, 1) To UBound(TabSource1, 1)
        If CStr(TabSource2(i, 1)) = CStr(TabSource1(ii, 1)) Then
            WSCible.Cells(i + 2, 1) = "Found"
            Exit For
        End If
    Next ii
Next i

Si l'algo trouve une occurence, il écrit "Found" et sort de la boucle... (Exit For)
Pour lui faire écrire "New" il faudrait qu'il continue à vita-éternam jusqu'à la fin de deux loop, c'est une question d'optimisation (et de temps).

Ceci dit, j'ai fait une version 5 qui ne retient plus que les "News"... Ca devrait aller jusqu'à 5000 lignes... J'ai testé ca reste raisnonnable en temps d'éxécution pour pour me permettre un passage supplémentaire de "nettoyage"

(Et dire qu'on a tout ca avec PowerQuery) ;)

Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_Kenny_results-survey-Comparateur_v05.xlsm
    38.4 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1