Vba zoom automatique ....

Seb_67210

XLDnaute Junior
Bonjour à tous...

J'ai un p'tit soucis professionnel ... j'ai réaliser un glossaire sous excel mais j'ai un problème d'affichage, je vous explique....

Suivant la résolution des pc les personnes doivent ajuster manuellement le zoom pour pouvoir visualiser correctement mon glossaire.

Mon besoin : j'aimerais savoir comment adapter automatiquement une feuille excel suivant la résolution du pc et ainsi ne plus avoir à touche au zoom.
J'ai réaliser une macro qui change la taille des feuilles automatiquement mais c'est pas top ... j'ai inserer 2 boutons ex: Ecran 15" ou Ecran 21" ca marche mais bon...

Pouvez vous m'envoyer un bout de code qui pourrait m'aider ???

Merci d'avance.
 

kadelmalin

XLDnaute Occasionnel
Re : Vba zoom automatique ....

Bjr JCGL,
Voilà le message qui apparait sur Dell 64 bits avec excel 2013 sous windos 7 :
"Le code contenu dans ce projet doit être mis à jour pour pouvoir être utilisé sur les systèmes 64bits. Vérifiez et mettez à jour les instructions Declare, puis marquez-les avec l'attribut PtrSafe." puis il souligne en jaune le mot "Declare".
Merci de votre aide.
 

kadelmalin

XLDnaute Occasionnel
Re : Vba zoom automatique ....

Bjr,
J'ai trouvé la solution à mon problème; j'ai ajouté PtrSafe entre Declare et function puis j'ai modifié LongLong au lieu de Long. Le message "Erreur de compilation" a disparu et la macro a bien fonctionné. Merci de votre patience
A+
 

JCGL

XLDnaute Barbatruc
Re : Vba zoom automatique ....

Bonjour à tous,

Peux-tu tester ceci :

VB:
Option Explicit
Declare Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Sub Resolution()
    Dim x As Long, y As Long
    x = GetSystemMetrics32(0)
    y = GetSystemMetrics32(1)
    MsgBox Format(x, "# ##0") & " x " & Format(y, "# ##0"), vbInformation, "Résolution d'Ecran"
End Sub

A+ à tous
 

kadelmalin

XLDnaute Occasionnel
Re : Vba zoom automatique ....

Bonjour,
Ce code est identique à celui déjà posté. Il fonctionne sous 32 bits seulement et affiche le message d'erreur sous 64 bits. Le code souhaité doit marcher sans erreur que ce soit sous 32 bits ou 64 bits.
Merci.
 

kadelmalin

XLDnaute Occasionnel
Re : Vba zoom automatique ....

Salut,
voilà je suis arrivé finalement à modifier le code pour qu'il fonctionne sous les 2 systèmes 32 bits et 64 bits sans retourner le message d'erreur :
'Option Explicit
#If VBA7 Then
Declare PtrSafe Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As LongLong) As LongLong
#Else
Declare Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
#End If

Sub Resolution()
#If VBA7 Then
Dim x As LongLong, y As LongLong
#Else
Dim x As Long, y As Long
#End If
x = GetSystemMetrics32(0)
y = GetSystemMetrics32(1)
MsgBox Format(x, "# ##0") & " x " & Format(y, "# ##0"), vbInformation, "Résolution d'Ecran"
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 504
Messages
2 089 070
Membres
104 018
dernier inscrit
Mzghal