Exporter Excel comme image (jpg) 4


Vous aussi vous trouvez qu'il est assez pénible de faire des captures d'écran de vos tableaux et vos graphiques en Excel? Que cela prend du temps? Alors continuez à lire car je vais vous expliquer comment facilement automatiser cette tâche.

Le code qui suit a encore un grand avantage: il est possible d'exporter une image qui, normalement, dépasserait la taille de l'écran! Ce qui n'est pas possible avec un simple capture d'écran – à moins de commencer à jouer avec le Zoom de la Feuille. Mais cela a un impact négatif sur la lisibilité.

Le code que je vous propose est donc beaucoup plus pratique qu'une capture d'écran classique!

VBA: exporter une partie de fichier Excel vers un fichier image

Il est tout à fait possible d'exporter un fichier Excel (.xls ou .xlsx etc.) ou une partie de celui-ci en tant qu'image (.jpg). Ceci peut considérablement économiser le temps (vous ne devez pas passer par un logiciel de capture d'écran) et surtout apporter de la précision: vous ne devez pas "essayer de couper la sélection au mieux". Le code suivant va exporter EXACTEMENT la partie du fichier Excel dont vous avez besoin. Au millimètre près!

Comment cela fonctionne?

Tout d'abord, on doit sélectionner une plage des cellules que l'on veut "exporter". La "plage" sélectionnée est copié à l'intérieur d'un graphique temporaire. Ce graphique est exporté en tant qu'image et ensuite, il est supprimé du fichier Excel. Tout cela se déroule à l'arrière plan et l'utilisateur ne remarquera rien.

Deux variantes de fonction VBA pour exporter vers un fichier .jpg:

  • La première variante a un seul paramètre (de type Range): la plage de cellules à exporter. Le choix de l'emplacement et du nom du fichier image se fait via le dialogue Excel "Sauvegarder sous…" (Variante A)
  • La deuxième variante, plus complexe mais également plus flexible, utilise toutes les informations nécessaires comme paramètres: la plage à exporter (argument de type Range), l'affichage (ou pas) des lignes de grilles (argument de type Boolean) et l'emplacement et le nom du fichier exporté (argument de type String). (variante B)

Le code VBA de la fonction (variante A)

 

Le code VBA de la fonction (variante B)

Et voici la version qui vous permet d'utiliser les informations nécessaires en tant que arguments.

Remarque pratique: Notez que l'on stocke dans la mémoire (variable LignesDeGrilleOriginal) l'état actuel d'affichage de grilles avant l'export. Une fois l'export effectué, on remets l'affichage dans l'état de départ. Ceci est important car le but n'est pas de modifier les réglages de l'utilisateur. La meilleure pratique est de "restituer" l'Excel à son utilisateur sans aucun changement qu'il n'a pas demandé…

 

L'exemple d'utilisation de la fonction d'export vers fichier JPG (variante B)

Dans le code VBA qui suit, nous allons exporter la plage A1:Z100 de la Feuille "test" vers un fichier image MonImageExcel.jpg dans le dossier C:\temp\

 

Conclusion

Voici donc une astuce qui devrait pouvoir vous économiser du temps et de rendre votre travail plus efficace. N'hésitez pas à partager vos remarques et/ou suggestions dans les commentaires…

11 0

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.

4 commentaires sur “Exporter Excel comme image (jpg)

  • H. Simon

    Je suis étonné de ne voir que rarement (jamais ?) parler de outil Photo. Certes il est bien caché (accesible à ma connaissance seulement par la personnalisation du ruban) mais il permet cette capture d'image directemment.

    • excel-malin.com Auteur du billet

      Ici, il s'agit de la solution VBA qui a l'avantage d'être utilisable à l'intérieur des macros (et donc tout à fait automatisé).
      Pouvez-vous me dire, quelle est le nom exact de la fonctionnalité "Photo" que vous mentionnez? J'ai cherché dans la liste des fonctionnalités de Excel 2010 et Excel 2013 et je ne l'ai pas trouvé…

      Merci pour le tuyau.

  • Totofox

    Merci beaucoup!

    J'ai créé un petit jeu de la vie sur excel. Je voulais exporter certaines création en GIF et cette technique est parfaite pour enregistrer rapidement toutes les itérations dans l'ordre!

    Il ne me manque plus qu'à trouver un software permettant de compiler des images jpg en gif :)/