Comparaison de fichiers Excel 2010
Bonsoir
zeinebas a écrit :* Ayant reçu les fichiers dans deux dossiers bien distincts à 3 moins d'écart, je ne me suis pas posée la question de la date …
Donc je suis parti de ce fait
J'ai scindé les fichiers dans deux dossiers "Mai" et Août" (Noms que tu pourras modifier dans la macro _ Les variables Mois(0) et Mois(1) )
J'ai des résultats aberrants en durée
La macro avec Xl 2003 : 9 Secondes
La macro avec XL2010 : 7 minutes et 5 secondes (oui plus de 7 minutes)
Il serait bon que tu communiques le temps chez toi avec ta version
Banzai64 a écrit :zeinebas a écrit:* Ayant reçu les fichiers dans deux dossiers bien distincts à 3 moins d'écart, je ne me suis pas posée la question de la date …
Donc je suis parti de ce fait
J'ai scindé les fichiers dans deux dossiers "Mai" et Août" (Noms que tu pourras modifier dans la macro _ Les variables Mois(0) et Mois(1) )
=> Super: c'est sympa! Merci
Je me suis empressée de tester la "Magic Macro" (roulement de tambour) ... résultat des courses:
- première tentative: j'ai enregistré le fichier que tu m'as envoyé sur le bureau de mon ordi. J'ai eu un Bug en retour.
Apparemment, ce bug était du au fait que je n'avais pas correctement regroupé les fichiers sources (regroupement des fichiers tests enregistrés sur le bureau de mon ordi en deux dossiers: "mai" et "aout").
- après avoir fait celà, j'ai relancé la Macro et là, plus de bug
Tu trouveras ci-joint quelques copies d'écran pour illustré concrètement ce que je t'écris.
Pour le moment, la Macro tourne toujours ... en tous cas, c'est ce qu'elle dit! ... après, est-ce qu'elle tourne dans le vide ou est-ce qu'elle bosse vraiment, ça reste un mystère ... je la laisse faire en tous cas pour le moment.
Je te tiens au courant de la suite asap.
Merci bcp en tous cas!
Bonne journée à toi
Cdlt
Zeinebas
Bonjour
Quand la durée de la macro est affichée , c'est que le programme est terminé, tu peux cliquer sur "OK"
Mais un temps de "00:00" cela veut dire que la macro n'a trouvée aucun fichier
Je t'expliques les conditions de test chez moi
Dans un répertoire/dossier j'y ai placé le programme principal et 2 répertoires/dossiers ('"Mai" et "Août") dans lesquels j'y ai placé les fichiers correspondants
Ensuite j'ai lancé la macro
La macro se sert du chemin où est placé le fichier principal afin de trouver les 2 autres répertoires/dossiers
Attention le dossier "Août" comporte un accent sur le u
Bonjour Banzai64,
En fait, je suis dans les mêmes "conditions de chemin" que toi je crois:
- J'ai créé un dossier/répertoire qui s'appelle "Echantillon Test" sur mon bureau.
- Dans ce dossier, se trouvent les éléments suivants:
Bon, par contre, en effet, j'avais écrsi "aout" et non "août".
J'ai corrigé l'erreur.
Ca tourne là pour le moment.
Voici le status actuel:
... je peux cliquer sur "ok" là maintenant?
Cldt
Zeinebas
Bonjour
Bien sur c'est juste une indication de la durée du traitement
Même 4:10 c'est très long par rapport aux 9 secondes avec XL 2003
Je ne sais pas pourquoi et si quelqu'un le sait ......
Quand tu vas placer tous tes fichiers armes toi de patience, cela risque de durer
Vérifies bien les résultats, s'ils sont bien conformes à ceux que tu voulais
Bonjour Banzai64,
Je n'ai pas de repères temporels concernant les macros Excel.
Celà dit, c'est vrai que c'est étonnant qu'il y ait une telle différence de temps de traitement entre Excel 2003 et Excel 2010.
Je ne dispose que de la version 2010 pourtant.
Et puis, ta Macro est indéniablement un gain de temps et de qualité de résultat considérable, même avec un temps de traitement objectivement long pour ceux qui ont des repères sous Excel!
Alors: un très grand MERCI pour cette super solution et ta patience et persévérance pour la mettre en place!
Pour ton info: je viens de faire tourner une nouvelle fois la fonction de comparaison après avoir fermé puis ré-ouvert le fichier "Echantillon Test".
Je ne sais pas si c'est parce que cette fonction avait déjà été lancée une première fois dans ce même fichier auparavant, mais le pop-up de la durée de traitement n'est pas apparue cette fois-ci. Ni la feuille toute noire (première feuille du fichier) en arrière-plan comme ce fut le cas la première fois.
J'ai comparé les résultats avec les fichiers sources: c'est vraiment génial et ça me permet de voir que contrairement aux retours obtenus suite à un sondage "qualitatif", la comparaison "quantitative" (en tous cas sur l'échantillon du test) ne met que très peu de différences en évidence.
Vraiment, encore merci Banzai64: c'est exactement l'outil que je cherchais.
Bon, par contre, vu que je n'y connais absolument rien en VBA (c'est bien ça le p'tit nom du langage de programmation d'Excel, non?), je ne comprends pas une ligne du code de la Macro
... c'est quelque chose qui s'explique / se comprend facilement pas mail (en partant de quasi zéro)?
Bonne suite de journée à toi!
Cordialement
Zeinebas
Bonjour
Content que cela te convienne
En principe (?) pour l'adapter à de futures comparaisons tu n'as rien à modifier
Il suffit d'avoir tous les fichiers dans le même répertoire (le fichier principal + les 2 dossiers "Mai" et "Août")
Si cela ne gène pas n'essaies pas de les renommer (sinon il faut aussi modifier dans la macro -cf un message précédent)
Bonne journée
N'oublies pas, si tu as des difficultés quelconques, passe par ici
Bonjour,
... et moi donc! RAVIE
ok.
super nouvelle!
les instructions sont claires.
encore un très grand merci Banzai64!
Je n'hésiterai pas à revenir et à recommander ce forum: une première expérience plus que concluante!
Bonne journée également!
Zeinebas
Bonjour à tous,
Même 4:10 c'est très long par rapport aux 9 secondes avec XL 2003
Je ne sais pas pourquoi et si quelqu'un le sait ......
Je fais le même constat : 2'10 sur 2010 et 3" sur 2003.
Apparement c'est les .Sheets(1).Copy before:=ThisWorkbook.Sheets(1) qui prennent du temps (pas loin de 10s).
Sur un fichier pris au hasard le UsedRange est A1:GA1003 pour 11 lignes et 1/3 de colonnes en moins réellement utilisées. En ne copiant que les données nécessaires il y aura peut-être un gain.
2003 est sans doute mieux optimisé là-dessus.
Cependant le .xlsm enregistré en .xls repasse à 6" sur 2010, ça sera fera toujours un gain x20 sans rien modifier si ça se confirme, et si aucune fonctionnalité de 2010 ne doit être utilisée (je ne me suis pas plongé à fond dans les fichiers et les macros).
eric
Bonjour
@ eriiic
Merci de ton implication
A un certain moment j'ai voulu copier la zone mais avec tous les noms définis j'avais à chaque fois une 50 aine de demande si je voulais garder l'ancien nom ou le nouveau
Le fait de copier la feuille me paraissait le plus simple, mais faut croire que simple et rapide ne vont pas ensemble
Si j'ai le temps (l'envie surtout) je ferai une version en copie/collage spécial ->valeurs, pour savoir si un gain de temps
Pour info aucune instruction 2007 ou plus
eriiic a écrit :Cependant le .xlsm enregistré en .xls repasse à 6" sur 2010
Le nombre de lignes/colonnes diminuent, ce qui peut expliquer le pourquoi du gain de temps
Édit : Une version en ne copiant que la partie concernée
Gain de temps appréciable mais ne rivalises pas encore avec XL2003: je passe de 7 minutes à 20 secondes
@eriiic + @banzai64
Vous ne m'en voudrez pas de ne pas prendre part au débat ... votre échange me dépasse.
Merci toutefois de vous pencher sur la question: c'est vraiment royal de votre part.
Comme je le disais à Banzai64: je suis déjà ravie de sa solution !
Encore MERCI!
Bonne soirée!
Zeinebas
Bonsoir
Pas grave que tu ne participes pas : Juste une histoire de cuisine interne
Mais il serait intéressant de tester la nouvelle version que j'ai postée dans le message précédent
Bonsoir Banzai64,
Intéressant: c'est le mot juste
le résultat du test, comparatif à l'appui:
le pourquoi du comment m'échappe totalement, mais de 4' à 15'', il n'y a pas photo: je prends!
on n'arrête pas le progrès! https://forum.excel-pratique.com/posting.php?mode=smilies&f=2#
félicitations! https://forum.excel-pratique.com/posting.php?mode=smilies&f=2#
Bonne soirée/nuit.
Zeinebas
@Banzai64, @Eriiic, @Jean-Eric,
=> Encore merci à vous tous de vous être penchés sur ma problématique en plein mois d'août
=> ReMERCIement particulier à Banzai64 pour sa patience et la livraison rapide d'une solution ultra-performante clé en main
Bon we prolongé de l'assomption
Bien cordialement
Zeinebas