Zoom adapté à l'ensemble d'un classeur

mounier1950

XLDnaute Nouveau
Bonjour à tous et à toutes,

J'aimerais avoir un taux de zoom adapté au pc sur lequel je travaille (ex: pc1: 116% pc2:120%)
Un fichier texte contenant le taux de zoom est placé à la racine du disque dur C. Ok.
Mais cela ne fonctionne que pour la 1ière feuille du classeur.
Comment avoir le même taux pour les autres feuilles ?

Mon code actuel, dans ThisWorkbook :

Private Sub Workbook_Open()
Application.Calculation = xlCalculationAutomatic
Dim X, Posi As Integer
Open "C:\Bilan.txt" For Input As #1
Input #1, Chaine
TauxZoom = Val(Chaine)
ActiveWindow.Zoom = TauxZoom
Close #1
On Error Resume Next
Sheets("03-09b").Select
Range("B3").Select
Application.OnKey "{F1}", "comm"
Application.OnKey "{F3}", "fermerclasserouvert"
Application.OnKey "{F6}", "retour"
Application.OnKey "{F7}", "valor"
Application.OnKey "{F8}", "générerheures"
Application.OnKey "{F9}", "enjaune"
Application.OnKey "{F10}", "heures_Valor"
Application.OnKey "{F11}", "ouvrir_dossier_salaires"
Application.OnKey "{F12}", "ouvrirclé"
End Sub
 

Orodreth

XLDnaute Impliqué
Re : Zoom adapté à l'ensemble d'un classeur

Bonjour,

Au choix, je dirais que:
- soit tu places ce code dans le module de chaque feuille, sur l'évènement Activate (ce qui peut s'avérer lourd si tu as beaucoup de feuilles)
- soit tu fais une boucle For Each en déclarant une variable Worksheet, tu boucles sur le thisWorkbook.Sheets, et tu places ton code à l'intérieur de la boucle, après avoir activée la feuille sur laquelle tu boucles.

Un truc du genre
Code:
Dim WS as Worksheet
For each WS in thisworkbook.Worksheets
    WS.activate
    ... TON CODE ICI (la partie qui va jusqu'à On Error Resume Next) ...
next WS

...FIN DE TON CODE ICI ...

Cordialement,
Orodreth
 

mounier1950

XLDnaute Nouveau
Re : Zoom adapté à l'ensemble d'un classeur

Orodreth, tu es génial ! :)

C'est exactement ce qu'il me fallait. Je te remercie et te prie de croire que ça va beaucoup m'aider (6 feuilles de calcul pour 7 classeurs différents par mois).
Que la vie soit douce avec toi, et t'aide autant que tu aides les autres. ;)
 

Pierrot93

XLDnaute Barbatruc
Re : Zoom adapté à l'ensemble d'un classeur

Bonjour,

regarde peut être ceci :

dans le module "thisworkbook" :
Code:
Option Explicit
Private Sub Workbook_Open()
Open "C:\Bilan.txt" For Input As #1
Input #1, Chaine
TauxZoom = Val(Chaine)
Close #1
Workbook_SheetActivate ActiveSheet
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveWindow.Zoom = TauxZoom
End Sub

dans un module standard :
Code:
Public TauxZoom As Variant

bonne journée
@+

Edition : bonjour Orodreth
 

Orodreth

XLDnaute Impliqué
Re : Zoom adapté à l'ensemble d'un classeur

(re)Bonjour Pierrot :), le fil, le forum

Ce que j'aime quand tu réponds après moi, Pierrot, c'est que tu simplifies toujours mes codes au maximum, ça m'apprend à optimiser :)
Merci :)

@mounier
Un plaisir :)
 

mounier1950

XLDnaute Nouveau
Re : Zoom adapté à l'ensemble d'un classeur

Bonjour Pierrot93,

Je te remercie mais la 1ière réponse me convient déjà très bien.
Quoi qu'il en soit, tu as fais l'effort de chercher et de me répondre.

Je calcule mes salaires sous Excel, et sans VBA, quel temps je perdrais ! (remplissage des heures en fonction de tel bouton, nettoyage chaque mois des couleurs, texte automatique, etc)

Continuez votre excellent travail tous les deux, votre aide est précieuse. :)
 

Statistiques des forums

Discussions
312 505
Messages
2 089 066
Membres
104 015
dernier inscrit
kkgk