OVH Cloud OVH Cloud

Macro Zoom

4 réponses
Avatar
Monsieur-Patate
Bonjour, mon problème d'aujourd'hui est le suivant:
j'ai crée un outil Excel sur un ordinateur ayant un écran de 14 pouces donc
par conséquent lorsque je l'ouvre sur un pc ayant un écran plus grand tout se
retrouve concentrer en haut à gauche de la feuille. Ainsi, comme mon outil
doit pouvoir etre facilement utilisé sur tout type de pc, j'ai essayé de
créer des macros avec 2 boutons (small screen size et large screen size) qui
jouent sur le zoom de toutes feuilles de mon classeur afin de les adapter
mais je n'y arrive pas :(
Je voudrais donc savoir si quelqu'un connait une astuce pour adapter
automatiquement la feuille à la taille de l'écran ou si quelqu'un à une autre
idée tout simplement!
Merci!

4 réponses

Avatar
Patrick Fredin
Bonjour,

D'abord, il faut déterminer quel est la zone qui doit être affichée. Si
c'est la même pour toutes les feuilles, tu peux utiliser l'événement
"Workbook_SheetActivate". Sinon il faut utiliser pour chaque feuille
l'événement "Worksheet_Activate". Éventuellement tu peux donner des noms aux
zones de chaque feuille et utiliser l'événement au niveau du Workbook.

Ensuite, tu adaptes ce code :

'Pour que l'utilisateur ne voit rien :
Application.ScreenUpdating = False
'C'est la zone, "shInfo" étant la feuille où le zoom est appliqué. Il suffit
d'adapter
shInfo.Range("B2:O35").Select
'Définit le zoom nécessaire automatiquement
ActiveWindow.Zoom = True
'Permet de définir un ajustement du zoom (ici, si c'est au dessus de 95%, on
laisse 100%)
If Abs(ActiveWindow.Zoom - 100) <= 5 Then ActiveWindow.Zoom = 100
Application.GoTo Reference:="R1C1"

Ce code prend un rectangle comme base parce que je voulais garder à l'écran
des infos en hauteur et en largeur. Si tu veux juste adapter la largeur, tu
limites la zone à la 1e ligne.

J'espère que cela te permettra de faire ce que tu veux. Tu peux revenir si
tu rencontres encore des problèmes.

--
Patrick

"Monsieur-Patate" wrote in
message news:
Bonjour, mon problème d'aujourd'hui est le suivant:
j'ai crée un outil Excel sur un ordinateur ayant un écran de 14 pouces
donc
par conséquent lorsque je l'ouvre sur un pc ayant un écran plus grand tout
se
retrouve concentrer en haut à gauche de la feuille. Ainsi, comme mon outil
doit pouvoir etre facilement utilisé sur tout type de pc, j'ai essayé de
créer des macros avec 2 boutons (small screen size et large screen size)
qui
jouent sur le zoom de toutes feuilles de mon classeur afin de les adapter
mais je n'y arrive pas :(
Je voudrais donc savoir si quelqu'un connait une astuce pour adapter
automatiquement la feuille à la taille de l'écran ou si quelqu'un à une
autre
idée tout simplement!
Merci!


Avatar
Monsieur-Patate
Bonjour Patrick,
tout d'abord merci pour ton aide mais j'ai encore quelques petits problèmes,
on va dire que je ne suis pas un as du VBA.

En fait je t explique j'ai une page d acceuil ou j'ai fait des boutons avec
des macros pour activer une feuille précise quand on appuie sur tel bouton.
En voilà un exemple pour aller sur la feuille nommée V-type:

Private Sub CommandButton2_Click()
Worksheets("V-type").Activate
End Sub

Suivant tes conseils j'ai essayé de rajouter ceci :
Private Sub CommandButton1_Click()
Worksheets("V-type").Activate
V-type.Range("B2:T44").Select
ActiveWindow.Zoom = True
End Sub

Si j'ai bien compris ca devrait selectionner la zone entre les cellules B2
et T44 et ensuite appliquer un zoom auto ce qui serait l idéal mais ca ne
fonctionne pas :(
Est ce à cause du nom de ma feuille?? J'ai essayé comme ca "V-type" mais le
resultat est le meme.
J'espere que tu auras la solution.
Merci :)
Avatar
PMO
Bonjour,

Essayez avec cette modification

Private Sub CommandButton1_Click()
Worksheets("V-type").Activate
Worksheets("V-type").Range("B2:T44").Select
ActiveWindow.Zoom = True
End Sub

Cordialement.

PMO
Patrick Morange




Bonjour Patrick,
tout d'abord merci pour ton aide mais j'ai encore quelques petits problèmes,
on va dire que je ne suis pas un as du VBA.

En fait je t explique j'ai une page d acceuil ou j'ai fait des boutons avec
des macros pour activer une feuille précise quand on appuie sur tel bouton.
En voilà un exemple pour aller sur la feuille nommée V-type:

Private Sub CommandButton2_Click()
Worksheets("V-type").Activate
End Sub

Suivant tes conseils j'ai essayé de rajouter ceci :
Private Sub CommandButton1_Click()
Worksheets("V-type").Activate
V-type.Range("B2:T44").Select
ActiveWindow.Zoom = True
End Sub

Si j'ai bien compris ca devrait selectionner la zone entre les cellules B2
et T44 et ensuite appliquer un zoom auto ce qui serait l idéal mais ca ne
fonctionne pas :(
Est ce à cause du nom de ma feuille?? J'ai essayé comme ca "V-type" mais le
resultat est le meme.
J'espere que tu auras la solution.
Merci :)


Avatar
Monsieur-Patate
C'est parfait, exactement ce qu'il me fallait merci à vous deux!!


Bonjour,

Essayez avec cette modification

Private Sub CommandButton1_Click()
Worksheets("V-type").Activate
Worksheets("V-type").Range("B2:T44").Select
ActiveWindow.Zoom = True
End Sub

Cordialement.

PMO
Patrick Morange




Bonjour Patrick,
tout d'abord merci pour ton aide mais j'ai encore quelques petits problèmes,
on va dire que je ne suis pas un as du VBA.

En fait je t explique j'ai une page d acceuil ou j'ai fait des boutons avec
des macros pour activer une feuille précise quand on appuie sur tel bouton.
En voilà un exemple pour aller sur la feuille nommée V-type:

Private Sub CommandButton2_Click()
Worksheets("V-type").Activate
End Sub

Suivant tes conseils j'ai essayé de rajouter ceci :
Private Sub CommandButton1_Click()
Worksheets("V-type").Activate
V-type.Range("B2:T44").Select
ActiveWindow.Zoom = True
End Sub

Si j'ai bien compris ca devrait selectionner la zone entre les cellules B2
et T44 et ensuite appliquer un zoom auto ce qui serait l idéal mais ca ne
fonctionne pas :(
Est ce à cause du nom de ma feuille?? J'ai essayé comme ca "V-type" mais le
resultat est le meme.
J'espere que tu auras la solution.
Merci :)