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
Candidat au titre de Membre du Club
 
Inscription : janvier 2008
Messages : 53
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 53
Points : 10
Points : 10
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 00
Vieux 03/07/2009, 14h55   #2
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Pourquoi pas comme ça :

Code :
Application.WindowState = xlMaximized
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 15h39   #3
Candidat au titre de Membre du Club
 
Inscription : janvier 2008
Messages : 53
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 53
Points : 10
Points : 10
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 00
Vieux 03/07/2009, 15h52   #4
Membre Expert
 
Homme Frédéric
Développeur informatique
Inscription : juin 2009
Messages : 944
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Localisation : France, Vosges (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2009
Messages : 944
Points : 1 249
Points : 1 249
Un code trouvé sur un jour sur le net (et testé)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 00
Vieux 03/07/2009, 15h57   #5
Candidat au titre de Membre du Club
 
Inscription : janvier 2008
Messages : 53
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 53
Points : 10
Points : 10
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 00
Vieux 03/07/2009, 17h35   #6
Expert Confirmé Sénior
 
Avatar de jacques_jean
 
Homme Jacques THERY
CBPDI(Congés Bien Payés/Durée Indéterminée)
Inscription : janvier 2006
Messages : 2 958
Détails du profil
Informations personnelles :
Nom : Homme Jacques THERY
Âge : 67
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : CBPDI(Congés Bien Payés/Durée Indéterminée)

Informations forums :
Inscription : janvier 2006
Messages : 2 958
Points : 4 997
Points : 4 997
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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
jacques_jean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 19h04   #7
Membre du Club
 
Inscription : juin 2009
Messages : 48
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 48
Points : 53
Points : 53
AU SECOUR ! Pourquoi vous vous torturez le cerveau ?

ABRACADABRA !!
Code :
1
2
  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 00
Vieux 03/07/2009, 19h18   #8
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
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!!!
__________________
SALUTATIONS

Dernière modification par laetitia ; 12/05/2010 à 13h48.
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 20h07   #9
Expert Confirmé Sénior
 
Avatar de jacques_jean
 
Homme Jacques THERY
CBPDI(Congés Bien Payés/Durée Indéterminée)
Inscription : janvier 2006
Messages : 2 958
Détails du profil
Informations personnelles :
Nom : Homme Jacques THERY
Âge : 67
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : CBPDI(Congés Bien Payés/Durée Indéterminée)

Informations forums :
Inscription : janvier 2006
Messages : 2 958
Points : 4 997
Points : 4 997
Bonsoir CRACOS38,

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

ABRACADABRA !!

Code :
1
2
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 ?
jacques_jean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 22h00   #10
Membre régulier
 
Inscription : janvier 2008
Messages : 121
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 121
Points : 91
Points : 91
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 00
Vieux 04/07/2009, 12h19   #11
Expert Confirmé Sénior
 
Avatar de jacques_jean
 
Homme Jacques THERY
CBPDI(Congés Bien Payés/Durée Indéterminée)
Inscription : janvier 2006
Messages : 2 958
Détails du profil
Informations personnelles :
Nom : Homme Jacques THERY
Âge : 67
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : CBPDI(Congés Bien Payés/Durée Indéterminée)

Informations forums :
Inscription : janvier 2006
Messages : 2 958
Points : 4 997
Points : 4 997
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.
jacques_jean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2009, 14h13   #12
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 55
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 55
Points : 12
Points : 12
pourquoi ne pas mettre tout simplement cela :
Code :
1
2
    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 00
Vieux 16/12/2009, 14h28   #13
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
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 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 12h50.


 
 
 
 
Partenaires

Hébergement Web