Compression d'images de fond d'écran + ZOOM

Bonjour,

Je monte un fichier Excel qui sera utilisé par pas mal de personnes, dont beaucoup ne connaissent rien à Excel. J'essaie donc de rendre la "chose" la plus attrayante possible.

Pour ça, je place une image de fond, toujours la même, sur chaque page de mon projet.

Cette image est un JPG de +/-200ko, à l'origine.

Seulement voilà, quand je sauvegarde mon fichier Excel qui contient 5 pages comprenant chacune mon image, mon fichier pèse près de 50Mo (au lieu de 10Mo sans image)

J'en déduis donc que:

1° Il considère chaque image de chaque page comme une image indépendante des autres. En somme, il charge 5 fois la même image plutôt qu'une seule fois pour toute.

2° Il ne garde pas la compression JPG et la convertit en un format différent, décompressé (bmp ?)

Est-il possible de parer ces deux problèmes ? Si oui, comment ?

Petite autre question,

Pour chaque page, j'utilise le code suivant:

Private Sub Worksheet_Activate()

ThisWorkbook.RefreshAll

Range("A:AL").Select

Range("H1").Activate

ActiveWindow.Zoom = True

Range("A1").Select

End Sub

Ce qui permet de zoomer sur la partie intéressante, ce qui déstabilise moins l'utilisateur.

Seul très léger problème, l'écran flashe une demie seconde en faisant sa sélection de case, en zoomant, puis en dé sélectionnant les cases.

C'est pas vraiment un problème, mais ça ne fait pas très "pro". Je me demandais si il existe un code pour zoomer automatiquement sans faire de sélection au préalable.

Merci à vous,

balty

Salut Balty,

pour ta deuxième question tu essaie ceci:

Private Sub Worksheet_Activate() 
Application.ScreenUpdating = False
ThisWorkbook.RefreshAll 
Range("A:AL").Select 
Range("H1").Activate 
ActiveWindow.Zoom = True 
Range("A1").Select 
Application.ScreenUpdating = True
End Sub 

A+

F.

Salut Balty, François et le forum

Pour ton image, il suffit de la mettre dans le même répertoire que ton application, et avec les évenements ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
SupprimerImageFond
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
SupprimerImageFond
End Sub

Private Sub Workbook_Open()
AfficherImageFond
End Sub

Tu places les macros suivantes, dans un module

Public Feuille As Worksheet
Sub AfficherImageFond()
For Each Feuille In Worksheets
    Feuille.SetBackgroundPicture Filename:=ActiveWorkbook.Path & "\Coucher de soleil.jpg"
Next Feuille
End Sub

Sub SupprimerImageFond()
For Each Feuille In Worksheets
    Feuille.SetBackgroundPicture Filename:=""
Next Feuille
End Sub

Mytå

Re le forum

Pour la première question, tu peux tester aussi

Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
ActiveSheet.Range("A:AL").Select
ActiveWindow.Zoom = True
Range("A1").Select
End Sub

Mytå

Salut Myta,

le seul problème avec une image externe est que quand on déménage le classeur il faut penser à déménager l'image aussi. Sinon beau plantage en vue.

Cela dit, moi les images en background ... pas ma tasse de thé. Mais ca c'est un autre débat

Salut François

Il reste sinon la possibilité de ne garder l'image que sur la première feuille, et d'effectuer

par macro la copie sur les autres feuilles.

Comme toi, je ne suis pas un fervent des images en fond de feuilles, mais si Balty

aime cela c'est son droit

Sur un fichier de test

Pas d'image 22K

Image sur 1 feuille 1440K

Image sur 3 feuilles 4276K

Mytå

Edition pour corriger une erreur

Il reste sinon la possibilité de ne garder l'image que sur la première feuille, et d'effectuer par macro la copie sur les autres feuilles.

Je ne crois pas que cela soit exploitable, facilement .....

J'avoue qu'une image de fond peut facilement rendre le tout assez moche ou "quétaine" (comme on dit ici).

Mais je ne met pas des images de chute d'eau ou de coucher de soleil romantique, mais bien des images plus abstraites et assez discrètes.

Discrètes, et pourtant dès qu'on l'enlève, ça rend le tout beaucoup plus austère.

Évidemment, il y a le problème du poids, mais dans mon cas, ça n'est vraiment pas un problème.

Merci pour les solutions. Mytå, je vais garder ta première proposition, puisqu'à mon fichier principal, je vais devoir joindre un répertoire contenant plusieurs listes de prix. J'y ajouterai mon image de fond.

À bientôt.

Rechercher des sujets similaires à "compression images fond ecran zoom"