Comparaison de fichier pour compilation

Bonjour,

Je souhaiterais créer un tache automatisé pour comparer la première colonne des "fichiers (1,2,3 etc...)" à la première colonne du "fichier source". Suite à cela, je cherche à ce que tous les doublons soit copiés dans le fichier "comparaison" avec ajout des autres colonnes des fichiers (1,2...)

Je vous mets en PJ les fichiers pour que ce soit plus clair.

Merci d'avance pour vos réponses.

Cordialement

19comparaison.xls (13.50 Ko)

Quelqu'un aurait-il une solution à me proposer ?

Merci d'avance.

Bonsoir,

Si c'est une feuille résultat vide qu'il te faut, pas besoin de macro...

Et continue à te retenir pour les explications, on va finir par deviner...

C'est quoi un doublon pour toi ?

Tes 2 fichiers sont identiques. Ca apporte quoi à la compréhension ?

C'est juste pour t'éclairer pourquoi aucune réponse.

La suite sera sans moi, j'ai horreur de devoir arracher les renseignements.

eric

Bonjour Eric,

Tout d'abord merci pour ta remontée qui m'a permis d'y voir plus clair sur le fait de ne pas avoir de réponse.

Ensuite, je m'excuse pour ce manque d'informations, je pensais être clair mais apparment pas. Mea culpa.

Voici donc plus de précisions :

Je souhaite comparer la colonne A du fichier source avec la colonne A des autres fichiers (1,2,3,4 etc...).

Si une valeur du fichier source = une valeur de la colonne A d'un autre fichier (c'est ce que j'ai précédemment appelé un doublon) alors je souhaite copier toute la ligne de ce dernier fichier pour le coller dans le fichier Comparaison.

E ainsi de suite jusqu'à la fin de la comparaison.

Est-ce assez clair comme explications ?

Je l'ai fait en plusieurs fichiers mais cela peut très bien être en un seul avec plusieurs onglet si cela est plus simple et plus rapide.

Merci pour vos propositions

J'ai testé ceci (en ne prenant qu'un seul fichier et des onglets différents) mais cela ne fonctionne pas

Dim a As Integer

Dim b As Integer

Dim vDerligne As Integer

Dim reponse As Integer

For a = Sheets("Import fichier 1").Range("A65000").End(xlUp).Row To 10 Step -1

For b = Sheets("Import source").Range("A65000").End(xlUp).Row To 1 Step -1

If Sheets("Import fichier 1").Range("A" & a) = Sheets("Import source").Range("A" & b) Then reponse = True

Next b

If reponse = True Then

Sheets("Import fichier 1").Select

ActiveSheet.Rows(a).Select

Selection.copy

Sheets("Comparaison").Select

vDerligne = Sheets("Comparaison").Range("A65000").End(xlUp).Row

Range("A" & vDerligne).Select

ActiveSheet.Paste

End If

Next a

End Sub

Quelqu'un peut-il m'aiguiller svp ?

up

Bonjour,

Bon, je te l'ai fait.

J'aurais bien eu encore des questions mais je te laisse adapter si le résultat n'est pas celui attendu.

Les feuilles datas doivent être dans le classeur.

Au passage les cellules fusionnées sont à éviter fortement, à réserver pour des titres c'est tout.

eric

18comparaison.zip (30.39 Ko)

Merci eriic pour ce super code !!! Il marche très bien.

Vu que je suis novice en vba et cherche à apprendre, pourrais-tu me dire à quoi correspondent les lignes ? J'ai du mal à tout saisir...

Merci pour ta patience et le travail effectué.

PS :

J'ai un petit soucis dans ce code c'est qu'il ne colle pas les données que je souhaite. Il faudrait copier les données de l'onglet source (qui sont bien évidemment détecter par la comparaison) et pas celles des autres fichiers pour les coller dans l'onglet résultats.

Bonjour,

 Il faudrait copier les données de l'onglet source (qui sont bien évidemment détecter par la comparaison) et pas celles des autres fichiers pour les coller dans l'onglet résultats.

Pourquoi seulement 2 colonnes dans la liste alors que résultats en a 5 comme les fichiers sources ? Pour induire en erreur ? Pourquoi ne pas l'avoir dit précisément ?

Si je te fais ça après tu vas me dire oui mais en fait c'est telle colonne de telle feuille et telle autre de l'autre feuille que je veux.

Et quand on a trouvé un équivalent faut-il s’arrêter ou continuer sur les autres fichiers ? Que faire si présent plusieurs fois ?

etc, etc, etc

Je te l'ai dit :

j'ai horreur de devoir arracher les renseignements.

Si on veut une réponse correcte on pose une question claire, complète et précise.

Je n'aime pas me prendre la tête à essayer de deviner ce que le demandeur n'a pas dit et refaire 3 fois les choses.

Donc réfléchi bien à ton problème et reviens poser une nouvelle question claire, complète et précise.

eric

Autant pour moi je me suis trompé lors de l'enregistrement des fichiers.

Le fichier source est normalement du type de "fichier 1"

Et inversement les fichiers 1, 2 etc... sont du type du fichier source

C'est pourquoi mon discours ne tenait pas la route.

Je m'excuse une nouvelle fois pour la perte de temps que cela t'a engendrée.

De ce fait, il faut changer le nom du fichier 1 en fichier source et inversement.

La structure du fichier 2 sera a modifié pour coller avec celle du "nouveau" fichier 1

Eric, si jamais tu souhaites encore m'aider j'aimerais bien des commentaires sur tes lignes de code afin d'en comprendre la signification et pourvoir la réutiliser dans d'autres situation.

Je comprends que cela puisse énerver de ne pas avoir d'énoncé clair de la part du demandeur. En tout cas merci encore pour le travail que tu as fourni et je te fais mes plus plates excuses pour les mauvaises informations fournies.

Désolé mais ça n'a plus rien à voir vu que tes clés sont différentes d'un fichier vers l'autre, avec /1 en plus etc.

Je l'ai fait pour un sens, il faut tout reprendre.

Te commenter mon code ne te servirait pas à grand chose car il faut adopter une autre logique pour le faire dans l'autre sens.

Aider je veux bien, mais à condition que le demandeur mette du sien.

Je crois que je l'ai bien senti au post 1 et que je vais retourner sur cette position que je n'aurais pas dû quitter.

Prépare mieux ton coup et démarre un nouveau fil.

eric

Rechercher des sujets similaires à "comparaison fichier compilation"