Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/07/2009, 14h25   #1
Nouveau membre du Club
 
Date d'inscription: janvier 2008
Messages: 50
Par défaut adapter fenetre a chaque ecran pc

Bonjour

j'ai réalisé une application en .xls que plusieurs personnes ouvriront.

seulement les personnes ont des écrans différents.


j'ai lu pas mal de forums sur le changement de résolution etcc.. mais je veux seulement que mon appli qui s'ouvre en plein ecran s'adapte a la taille de l'ecran ou pourquoi pas trouver une taille mini qui irait pour tout le monde


voila comment faire simple et efficace

Merci
neninio31 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 14h55   #2
Membre Expert
 
Avatar de aalex_38
 
Date d'inscription: septembre 2007
Messages: 1 455
Par défaut

Pourquoi pas comme ça :

Code :
Application.WindowState = xlMaximized
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 15h39   #3
Nouveau membre du Club
 
Date d'inscription: janvier 2008
Messages: 50
Par défaut resolution ecran

Re
avec le code suivant
Code :
Application.WindowState = xlMaximized
c'est toujours aussi grand
je crois qu'il faut que je réduise la résolution

en fait n'est il pas possible de trouver un code qui dise la largeur de l'application = la largeur de l'écran
idem pour la hauteur


Merci
neninio31 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 15h52   #4
Membre émérite
 
Date d'inscription: juin 2009
Localisation: Lorraine
Messages: 842
Envoyer un message via MSN à fgiambelluco
Par défaut

Un code trouvé sur un jour sur le net (et testé)
Code :
Option Explicit
 
Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long
 Const SM_CXSCREEN = 0
 Const SM_CYSCREEN = 1
 
 
Sub AfficherInfoVideo()
    Dim LargeurVid As Long, HauteurVid As Long
    Dim msg As String
    LargeurVid = GetSystemMetrics(SM_CXSCREEN)
    HauteurVid = GetSystemMetrics(SM_CYSCREEN)
    msg = "Le mode vidéo courant est : "
    msg = msg & LargeurVid & " X " & HauteurVid
    MsgBox msg
End Sub
--------------
Frédéric
http://www.access-developpement.com
fgiambelluco est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 15h57   #5
Nouveau membre du Club
 
Date d'inscription: janvier 2008
Messages: 50
Par défaut

Re

merci mais ou placer ce code ???

dans WorkBook_Open () ???

Est ce que c'est juste une macro qui donne les infos de résolution ou ca change la resolution ??
merci

Re

Bon j'ai essayé j'ai du déplacé qques boutons qui n'apparaissaient pas.

et pour une userform trop grande ??

Faut il la diminuer de taille ou peut elle s'adapter a l'écran ???

Dernière modification par AlainTech ; 07/07/2009 à 23h09. Motif: Fusion de 2 messages
neninio31 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 17h35   #6
Rédacteur/Modérateur
 
Avatar de jacques_jean
 
Nom : Jacques THERY
Date d'inscription: janvier 2006
Localisation: St Cyr s/mer (83)
Âge: 65
Messages: 2 350
Par défaut

Bonjour,

Vous pouvez essayer ce code, que j'ai trouvé, sous une forme plus complexe je ne sais plus où et que j'ai simplifié en fonction de mes besoins.

dans un module :

Code :
 
Option Explicit
Public Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Public Declare Function GetDC Lib "user32" _
(ByVal hwnd As Long) As Long
Public Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hDC As Long) As Long
Public Const LOGPIXELSX = 88
Public Const POINTS_PER_INCH As Long = 72
 
Public Function ScreenWidth() As Long
ScreenWidth = GetSystemMetrics(SM_CXSCREEN)
End Function
Public Function PointsPerPixel() As Double
Dim hDC As Long
Dim lDotsPerInch As Long
hDC = GetDC(0)
lDotsPerInch = GetDeviceCaps(hDC, LOGPIXELSX)
PointsPerPixel = POINTS_PER_INCH / lDotsPerInch
ReleaseDC 0, hDC
End Function
Public Function ScreenHeight() As Long
ScreenHeight = GetSystemMetrics(SM_CYSCREEN)
End Function
 
Sub Essai()
UserForm1.Show
End Sub
Dans le code de votre ou vos formulaire(s) :

Code :
Option Explicit
 
Sub UserForm_Initialize()
Dim RW As Single, RH As Single
Dim Ctl As MSForms.Control
 
RW = ScreenWidth * PointsPerPixel / Me.Width
RH = ScreenHeight * PointsPerPixel / Me.Height
 
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel
 
 
'Permet de redimensionner tous tes contrôles présent sur l'UserForm en 'fonction de la taille de l'userForm et de la taille de l'écran
For Each Ctl In Me.Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next
End Sub
 
 
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu la réponse à votre question.
jacques_jean est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 19h04   #7
Membre à l'essai
 
Date d'inscription: juin 2009
Messages: 49
Par défaut

AU SECOUR ! Pourquoi vous vous torturez le cerveau ?

ABRACADABRA !!
Code :
  Application.DisplayFullScreen = True
    Application.WindowState = xlNormal
C'est automatique sur toute les machines.

Dernière modification par Philippe JOCHMANS ; 03/07/2009 à 19h40. Motif: Ajout des balises codes (Sélection du code + # dans la fenêtre de rédaction des messages)
CRACOS38 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 19h18   #8
Membre Expert
 
Avatar de laetitia
 
Date d'inscription: décembre 2002
Localisation: 38
Âge: 20
Messages: 1 163
Par défaut

bonjour neninio31 aalex_38 fgiambelluco CRACOS38 l'ami jacques_jean j ai pas croise depuis un bon moment a qui je fais de gros bisous

une autre methode bien plus lourde que la methode a jean en piéce jointe pas facile non plus a comprendre enfin bon!!!
Fichiers attachés
Type de fichier : zip rezise1.zip (24,7 Ko, 19 affichages)
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 20h07   #9
Rédacteur/Modérateur
 
Avatar de jacques_jean
 
Nom : Jacques THERY
Date d'inscription: janvier 2006
Localisation: St Cyr s/mer (83)
Âge: 65
Messages: 2 350
Par défaut

Bonsoir CRACOS38,

Citation:
AU SECOURS ! Pourquoi vous vous torturez le cerveau ?

ABRACADABRA !!

Code :
Application.DisplayFullScreen = True
    Application.WindowState = xlNormal 
 
C'est automatique sur toutes les machines.
C'est vrai !

Sont-ils bêtes ces gens qui perdent leur temps à mettre au point des tas de lignes de code et même des tutoriels pour aider les autres alors que c'est tellement simple.

Par exemple : les contrôles suivent ?
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu la réponse à votre question.
jacques_jean est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 22h00   #10
Membre régulier
 
Date d'inscription: janvier 2008
Localisation: Bourges
Messages: 124
Par défaut

Bonsoir jacques_jean

Citation:
Envoyé par jacques_jean Voir le message
Bonsoir CRACOS38,

C'est vrai !

Sont-ils bêtes ces gens qui perdent leur temps à mettre au point des tas de lignes de code et même des tutoriaux pour aider les autres alors que c'est tellement simple.

Par exemple : les contrôles suivent ?
Je n'ai pas compris la ligne en gras, peux-tu expliquer s'il te plait?

pour les 3 lignes au-dessus je suis d'accord avec toi ( au 2ème degré )
La Zélie est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/07/2009, 12h19   #11
Rédacteur/Modérateur
 
Avatar de jacques_jean
 
Nom : Jacques THERY
Date d'inscription: janvier 2006
Localisation: St Cyr s/mer (83)
Âge: 65
Messages: 2 350
Par défaut

Bonjour La Zélie,

Et bien le principe, quand tout fonctionne bien (on ne sait jamais !) est que le formulaire est redimensionné, mais aussi, dans la même proportion, la taille de tous les contrôles présents.

Bon week-end.

Au passage, bonjour et bon week-end également Laetitia.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu la réponse à votre question.
jacques_jean est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/12/2009, 14h13   #12
Candidat au titre de Membre du Club
 
Date d'inscription: février 2009
Messages: 27
Par défaut

pourquoi ne pas mettre tout simplement cela :
Code :
    Range("A2:K2").Select
    ActiveWindow.Zoom = True
 
en fait tu dis à l'écran de s'adapter à ta zone (ici A2:K2)
mickisa est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/12/2009, 14h28   #13
Membre Expert
 
Avatar de laetitia
 
Date d'inscription: décembre 2002
Localisation: 38
Âge: 20
Messages: 1 163
Par défaut

bonjour mickisa le fil le forum l'exemple c'est pour un userform!!!
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 22h31.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.