VBA - Comparer 2 colonnes dans 2 fichiers différents

Bonjour,

Je sais, je crée un enième topic de comparaison de colonnes, mais ça fait 2 jours que je me démène avec mes fichiers Excel, sans réussir à faire ce que je veux... je deviens fou :(

Je vous explique mon besoin :

- mon employeur publie un sondage en ligne, et nous avons besoin de relancer régulièrement les personnes qui doivent y répondre

- je n'ai pas accès à la base de données du sondage, donc je suis obligé de faire un extract en .CSV

Je dois remplir un fichier Excel qui a pour but de faire une synthèse de cet extract au format .csv, pour faire un état des lieux de l'avancement :

- la colonne "Ont commencé à remplir" est à Oui si il y a une donnée présente dans les colonnes C à K, et à Non sinon

- la colonne "Ont fini l'enquête sociale" est à Oui si toutes les colonnes C à G sont remplies , à Non sinon

- la colonne "Ont fini la partie Formation" est à Oui si toutes les colonnes H à K sont remplies , à Non sinon

Dans un monde idéal, j'aimerais avoir un simple bouton sur lequel cliquer, qui me remplirait cette synthèse...

J'ai trouvé ce topic qui semble être un besoin un peu similaire, mais je n'ai jamais réussi à l'adapter à mon besoin : https://forum.excel-pratique.com/excel/comparer-des-colonnes-de-deux-feuilles-differentes-109264

Y aurait-il une bonne âme pour m'aider ? Gros, gros remerciements à la clé :)

Merci beaucoup

17social-220120-1022.csv (942.00 Octets)

Bonjour

As-tu la possibilité de télécharger et installer l'add on PowerQuery (totalement intégré à Excel à partir de 2016 et + mais en add on sur 2013) ?

Tu pourras alors faire cela de manière simple

Bonjour,

Oui, j'ai Excel avec Office 365, donc ça devrait être une version supérieure à Excel 2016 :) donc si je comprends bien c'est déjà installé ?

RE

365 est la dernière version d'Excel.

Ci-joint une solution PowerQuery.

J'ai ajouté dans le classeur un onglet Références qui contient

  • le chemin d'accès au CSV dans une cellule nommée Fichier
  • un tableau de paramètres indiquant pour chaque partie (sociale et formation) le nombre de réponses attendues et l'état à afficher.
    Cela permet de prévoir des parties supplémentaires si nécessaire à l'avenir.

Il y a 4 requêtes

SourceCSV qui

  • récupère les données du CSV
  • décroise les questions
  • récupère le numéro de question et rattache la question à la partie sociale ou formation

Etats qui récupère le tableau de paramètres et extrapole les cas de nombres de réponses incomplets et en déduit l'état en remplaçant fini par commencé

Réponses qui, à partir de SourceCSV,

  • note pour chaque cas si la question a au moins une réponse
  • calcule par Classe, Ville, Partie, le nombre de questions ayant au moins une réponse, le nombre minimum et le nombre maximum de réponses
  • croise avec la requête Etats pour récupérer l'état associé au nombre de questions ayant au moins une réponse
  • en déduit le nombre total de réponses à prendre en compte

Final qui, à partir de SourceCSV

  • récupère tous les couples Classe, Ville
  • combine avec la requête Etats pour lister tous les trios Classe, Ville, Etat
  • y associe les états correspondants de la requête Réponses
  • croise la colonne des états

Pour chaque requête tu peux voir les étapes à droite avec le détail dans la barre de formule et en cliquant sur le petit rouage de la ligne d'étape

Si tu as des questions reposte

Il suffit d'adapter le chemin de la cellule ne jaune dans l'onglet Références puis données actualiser tout.

EDIT : il y avait un ambiguïté sur la valeurs du CSV : on ne sait si les valeurs correspondent à un nombre de réponses dans une ville pour chaque question ou à la réponse.
J'étais d'abord parti sur la seconde hypothèse comme l'a fait fronck puis ne voyant que des nombres, sur la 1ère...

Dans le cas de la seconde hypothèse, on peut, une fois le fichier CSV récupéré par PowerQuery (chemin à préciser dans la cellule jaune), utiliser des formules ou une requête plus simple

les 2 solutions :

Bonjour Bouldou, Chris,

Ma proposition avec bouton, sans powerquery.

Cordialement.

Bonjour

Ma proposition avec bouton, sans powerquery.

Il y a 3 requête PowerQuery dans ton classeur...

Oui c'est vrai, et j'ai essayé de le faire avec power query, mais même en suivant ton écrit je ne sais pas comment tu as fait. Tu devrais faire une vidéo

Je trouve çà plus simple par macro dans ce cas.

RE

Comme je l'ai indiqué dans mon EDIT je suis parti d'une autre hypothèse.

Si on cherche bien à lire chaque étape normalement on peut suivre les explications...

Mais ton tableau analysé par VBA est bien le résultat d'une des 3 requêtes PoweQuery affiché dans l'onglet resume

Bonjour ,

Merci infiniment pour votre aide !! Je teste ça cet après-midi et je vous tiens au courant :)

Excellente journée à vous

Bonjour messieurs,

Je voulais vous remercier, j'ai fini de peaufiner le fichier pour qu'il colle parfaitement à mes besoins, et ça va me CHANGER LA VIE :)

Pour être transparent avec vous, je suis parti sur la version Macro car je n'ai pas compris comment pouvoir éditer les règles PowerQuery... déjà en place, mais je suis sûr que cette version PowerQuery servira à quelqu'un d'autre :)

Encore merci et à une prochaine

Rechercher des sujets similaires à "vba comparer colonnes fichiers differents"