Comparaison de deux fichiers de manière mensuelle et automatisée

the noob

XLDnaute Nouveau
Bonjour à tous et à toutes,

Je me permets de vous contacter à nouveau pour ce délicat problème:

Présentation : Le but de ce document est de comparer l’estimation donnée par la finance à celle fournie par l’atelier.
On obtiendra ainsi un document de 12 pages (une par mois) avec 5 colonnes chacune (SO, Project Name, Finance, Workshop, % of difference).

Objectif : -Mettre en valeur l’existence de certaines références projet (SO) dans un fichier et pas dans l’autre.
-Mettre en évidence les écarts de plus de 10% entre les deux fichiers.

Documents :
-Finance : Un document Excel avec un relevé au mois des quantités de matière dédiées à chaque projet.
-Atelier : Un document de 13 pages (une page par mois et une pour l’annuel).
-Un fichier récapitulatif de 12 pages (une par mois).
Les 3 fichiers seront regroupés dans le même dossier pour plus de facilité.


Pages/Programme d’intérêt d’après mes recherches :

Après quelques recherches, j’ai trouvé ce post : https://www.excel-downloads.com/thr...iltres-variables-fichiers-fermes-acces.92374/

Exporter la Feuil1 d'un classeur fermé, dans un fichier texte (pour le fichier venant de la finance)
Sub excelVersFichierTexte()
Dim Rs As New ADODB.Recordset
Dim Fichier As String, Feuille As String
Dim xConnect As String, xSql As String
Fichier = "C:\Documents and Settings\michel\monClasseur.xls"
Feuille = "Feuil1"
xConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & ";" & _
"Extended Properties=Excel 8.0;"
xSql = "SELECT * FROM [" & Feuille & "$];"
Set Rs = New ADODB.Recordset
Rs.Open xSql, xConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
Open "C:\Documents and Settings\michel\essai.txt" For Output As #1
Do Until Rs.EOF
Print #1, Rs.getString(, 600, ";", vbCrLf, ""); 'exemple avec séparateur ";" (point virgule)
Loop
Close #1
End Sub

Importer les feuilles complètes de plusieurs classeurs fermés (pour l’atelier)
Fichier trouvé sur le même post :
Lien supprimé



Pour calculer le % de différence entre les deux valeurs :
1ère colonne : SO
2ème colonne : Project Name
3ème colonne : Données de la finance
4ème colonne : Données de l’atelier.
Donc les valeurs seront dans les colonnes C et D d’où la formule dans la colonne E :
=ABS(C2-D2)/MAX(C2;D2)*100 et j’étire tout du long.

Puis mise en forme conditionnelle pour mettre en avant les différences supérieures à 10% par exemple.

Voici un autre lien que j’ai trouvé intéressant : https://www.excel-downloads.com/thr...ier-excel-dans-un-autre-fichier-excel.177527/

Questions :
-Tout d’abord, est-ce faisable ?

-Est-il intéressant de passer par la fonction « Docmd.TransfertSpreadSheet » pour importer ma table .xlsm ou cela n’est pas nécessaire ?

-Exporter les différentes feuilles n’est pas intéressant et il vaut mieux que je me concentre pour prélever directement les colonnes des différentes pages, non ?

-Dois-je bien fonder mes requêtes sur les tables et non pas sur les divers TCD pour le fichier atelier ?

-Comment attitre automatiquement une nouvelle page pour chaque mois ?

-S’il vaut mieux travailler sur les TCD, puis-je utiliser la requête Query donnée par Chris :
“ SELECT `January$`.Date, `January$`.Kg, `January$`.Project, `January$`.SO FROM `January$` `January$` where date is not null union SELECT `February$`.Date, `February$`.Kg, `February$`.Project, `February$`.SO, FROM `February$` `February$` where date is not null union… .”

Si vous avez des idées/suggestions/remarques/fichiers, vous êtes les bienvenus :D
Et merci d'avance pour votre contribution

ps: j'ai juste réalisé à la main le fichier "comparaison" donc uniquement pour le mois de janvier
 

Pièces jointes

  • Comparaison.zip
    137.1 KB · Affichages: 36
  • Comparaison.zip
    137.1 KB · Affichages: 32
  • Comparaison.zip
    137.1 KB · Affichages: 35

Misange

XLDnaute Barbatruc
Re : Comparaison de deux fichiers de manière mensuelle et automatisée

Bonjour

oui c'est tout à fait faisable.
Voilà déjà un début.
Les 3 fichiers doivent être ouverts.
Une simple combinaison index+equiv va rechercher les données dans les tableaux en utilisant effectivement la clé du S0 (tu as raison de penser aux erreurs de saisie, c'est fréquent...)

On peut mettre en paramètre le mois, mais il faut pour cela qu'il y ait une clé commune. Par exemple que les onglets de Atelier soit nommés de la même façon que les mois dans Finance.
 

Pièces jointes

  • Comparaison.xlsx
    16.6 KB · Affichages: 71
  • Comparaison.xlsx
    16.6 KB · Affichages: 65
  • Comparaison.xlsx
    16.6 KB · Affichages: 71

Misange

XLDnaute Barbatruc
Re : Comparaison de deux fichiers de manière mensuelle et automatisée

Si jamais tu voulais dire si la solution que je t'ai proposée te convient ...
Si ce n'est pas le cas c'est mieux de dire ce qui ne te va pas et quelle aide supplémentaire tu demandes. Formulé de cette façon ...
 

Misange

XLDnaute Barbatruc
Re : Comparaison de deux fichiers de manière mensuelle et automatisée

Bon piger le truc des index et equiv, il est plus simple de commencer en mettant les deux tableaux dans un seul classeur. Le principe est exactement le même ensuite sauf qu'on va chercher les infos ailleurs mais la structure des formules reste la même.
Plus d'infos sur cette combinaison magique ici :
Ce lien n'existe plus

Au fait, je suis la seulE pas le seul ...
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 181
Membres
103 152
dernier inscrit
Karibu