XL 2019 Fichier binaire vs Fichier xlsm

Rosemont40

XLDnaute Nouveau
Bonjour à tous,

est-ce que rouler une macro en utilisant un fichier binaire améliore le temps de traitement vu que la taille du fichier est plus petite ou bien ça aucun effet?

Merci de me tenir au courant!
 
Solution
Bonjour
Je regrette personnellement la formulation de la question et notamment ce passage :
rouler une macro en utilisant un fichier binaire
que l'on pourrait interpréter d'au moins deux manières totalement distinctes.
Je crois "percevoir" que la question concerne une macro exécutée au sein d'un classeur de type xlsb.
Est-ce le cas ?
Si oui, ce type est en effet plus performant, notamment lorsqu'est concerné un fichier Excel de grand "poids". Attention toutefois à l'absence, alors totale et gênante, de compatibilité XML.
Prudence, donc; et ne faire un tel choix qu'en l'absence de nécessité de cette compatibilité.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Rosemont, Job,
Un fichier binaire est, je suppose, un fichier en xlsb ?
Le type de fichier n'affecte en rien la vitesse d’exécution.
C'est uniquement le type de codage du fichier qui est impacté.En xlsx, xlsm le fichier respecte la norme XML. ( donc éventuellement assimilable par d'autres lecteurs XML )
Le format xlsb a la réputation de moins bien fonctionné sur OpenOffice.
Si vous n'avez aucun problème de stockage, restez en xlsx,xlsm.
 

dysorthographie

XLDnaute Accro
Bonsoir,
Les éléments que tu fournis sont trop vague pour apporter un réponse.

Si ta Macro à pour objectif de lire un fichier son poids en octets restrra le même et peut importe binaire ou pas. Ce qui ralentit ce type de traitement ce sont les accès disque.

Si tu lis un fichier cotets par ocotets tu ferras plus d'accès disque qu'en lisant ton fichier ligne par ligne.

Peut importe la méthode il faut mettre en mémoire la totalité du fichier en un seul accès disque.
 

jmfmarques

XLDnaute Accro
Bonjour
Je regrette personnellement la formulation de la question et notamment ce passage :
rouler une macro en utilisant un fichier binaire
que l'on pourrait interpréter d'au moins deux manières totalement distinctes.
Je crois "percevoir" que la question concerne une macro exécutée au sein d'un classeur de type xlsb.
Est-ce le cas ?
Si oui, ce type est en effet plus performant, notamment lorsqu'est concerné un fichier Excel de grand "poids". Attention toutefois à l'absence, alors totale et gênante, de compatibilité XML.
Prudence, donc; et ne faire un tel choix qu'en l'absence de nécessité de cette compatibilité.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @jmfmarques ;)

Si oui, ce type est en effet plus performant, notamment lorsqu'est concerné un fichier Excel de grand "poids"

Alors là je ne vois pas pourquoi? Et surtout sans connaître ce que fait la macro ni comment elle le fait.
Donc je m'en tiens à la réponse de @job75 (que je salue :)) et dont le conseil sous forme de question a été bien compris et appliqué par @Rosemont40 :)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @Rosemont40 :),

Tu n'as pas constaté de différence significative de temps d'exécution. Mais, suivant l'algorithme utilisé, une même action peut être drastiquement réduite (ou rallongée) en durée d'exécution.
Il serait sans doute plus efficace de nous fournir un fichier test avec les explications du but souhaité pour chercher une méthode plus rapide de faire ce que tu souhaites.
 

jmfmarques

XLDnaute Accro
Bonjour mapomme
Alors là je ne vois pas pourquoi?
Je suis certain de ce que tu en connais au moins une, de raison : --->>
Un gros .xlsm met par exemple beaucoup plus de temps à s'ouvrir et à se fermer (avec sauvegarde). Et ce sera d'autant plus significatif et visible que le fichier pèsera lourd.:)

J'ai eu par le passé à faire le choix xlsb pour d'énormes classeurs. Mais il s'agissait de classeurs faits pour moi seul. Et pour cause, un xlsb peut "véhiculer" encore plus facilement certaines "petites choses indésirables".
J'ai déjà d'énormes réticences à ouvrir un classeur tiers. Alors un xlsb, NI HABLAR....


JE VAIS CHERCHER où on en parle ici et là et reviendrai en EDIT avec un lien en parlant.

EDIT, donc (et je regrette que le lien le plus clair à ce propos soit dans une langue étrangère) : https://professor-excel.com/xlsx-xlsm-xlsb-file-types/#XLSB
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
et je regrette que le lien le plus clair à ce propos soit dans une langue étrangère
ça ne pose pas de difficulté pour moi.
J'ai lu l'article. Effectivement, la chargement du fichier .xlsb est plus rapide (mais tout aussi risqué ;)). Mon propos était juste de dire que c'est la macro qui va déterminer le temps d'exécution. Si beaucoup de lecture et sauvegarde de gros fichiers alors le .xlsb peut être intéressant. S'il s'agit simplement de charger une plage de valeurs et d'y travailler en vba et en mémoire vive alors, je pense que le format du fichier est moins important.
 
Dernière édition:

jmfmarques

XLDnaute Accro
ça ne pose pas de difficulté pour moi
Pour moi non plus (je suis trilingue depuis kala kala)
Ce que je regrette est tout simplement l'absence d'une explication aussi concise et claire dans la langue de Molière. Cela fait défaut.

Pour ce qui est du "reste" : je pense qu'il ne t'échappera pas non plus que tout ce qui est plus proche du niveau le plus bas est plus rapide que ce qui doit être traduit au niveau le plus bas ... :)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil,

C'est pas du Molière, ni Shakespeare, mais du BIFF12 ;)
The XLSB Format Explained
For the technically minded, the XLSB file format, code named BIFF12, is a ZIP container based on the Open XML file specification. The key difference between XLSB and XLSX - XLSM is that file parts within the zipped package are compressed binary components (.bin) encoded in a proprietary format, instead of being readable XML code. Binary files are optimized for performance and can store anything you can create in Excel.
Ça fait toujours plaisir de le savoir ;)
[pj](surtout quand son Excel cohabite avec un PC qui n'a pas la performance chevillée au chipset... :rolleyes:[/pj]
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal