Image égale à la taille de l'écran

Gix

XLDnaute Occasionnel
Bonjour à tous et bonne année 2008

En faisant une recherche je n'ai pas trouvé la réponse à ma question donc je me permets de me retourner vers vous.
Sur une feuille j'ai une image insérée par le biais:
Insertion,image,à partir du fichier, bla bla .

Je voudrais que cette image à l'ouverture de mon classeur prenne toujours la taille de l' écran quel qu'en soit le type ( 15.17.19.20.etc...)
comme pour USF en utilisant ce code
Code:
Private Sub UserForm_Initialize()

With Me
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
End With
End Sub
Merci de votre aide
Gix.
 

skoobi

XLDnaute Barbatruc
Re : Image égale à la taille de l'écran

Bonjour,

en passant par l'enregistreur de macro tu devrais pouvoir récupérer la synthaxe pour modifier la taille d'une image: démarre l'enregistreur de macro, redimensionne l'image manuellement puis stop l'enregistreur et récupères le code généré pour l'adapter.
 

wilfried_42

XLDnaute Barbatruc
Re : Image égale à la taille de l'écran

Bonjour à tous

voici 2 lignes

Code:
    Application.WindowState = xlMaximized
    ActiveWindow.WindowState = xlMaximized

la premiere provoque la taille maxi d'excel
la 2eme celle de la fenetre active

une fois cela fait, ton code devrait fonctionner

remplace application.width et height par activewindow.width et height
pense aussi à retirer l'eppaisseur des traits des fenetres
 

Gix

XLDnaute Occasionnel
Re : Image égale à la taille de l'écran

Re Skoobi, Wilfried


Skoobi, j'ai eu le réflexe pour l'enrengisteur de macro et j'ai obtenu ce code
Code:
    ActiveSheet.Shapes("Image1").Select
    Selection.ShapeRange.ScaleWidth 2#, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 2.01, msoFalse, msoScaleFromTopLeft
Mais le problème est le suivant quand j'ouvre ce classeur sur mon PC portable l'image est trop grande car l'écran est plus petit ainsi que la résolution n'est pas la même donc j'ai pensé automatiser ça avec une détection de l'écran et ensuite dimensionner l'image par rapport à l'écran
J'ai trouvé ce code pour connaitre la résolution mais je n'arrive pas à le mettre en place
Code:
Option Explicit
    Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
     Const SM_CXSCREEN = 0        ' Largeur de l'écran
     Const SM_CYSCREEN = 1        ' Hauteur de l'écran

Sub Taille_image()
Dim XVal As Long, YVal As Long
    YVal = GetSystemMetrics(SM_CYSCREEN)
    XVal = GetSystemMetrics(SM_CXSCREEN)
MsgBox "Votre écran a une résolution " & XVal & " par " & YVal, vbInformation, "xld"
End Sub
Wilfried,
Après tes conseils j'ai écrit ce code
Code:
Private Sub Workbook_Open()
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized

With ActiveSheet.Shapes("image1")
    .Width = ActiveWindow.Width
    .Height = ActiveWindow.Height
    .Left = 0
    .Top = 0
End With
End Sub
malheureusement ce n'est pas bon idem sur un plus petit écran l'image reste trop grande.
Merci à vous deux pour vos efforts
A vous lire
Gix.
 

wilfried_42

XLDnaute Barbatruc
Re : Image égale à la taille de l'écran

re:

voici un fichier, il redimensionne l'image en fonction de la taille fenetre

Sachant que la taille de la fenetre (maximize) s'ajuste à la taille Application et que la taille application s'ajuste en fonction de l'ecran

Click ---> passe en maximize de activewindow, ajustement de l'image
doubleclik --> Activewindow passe en mode normal, ajustement de l'image

Tu redimensionnes la fenetre manuellement et click, double click, ajustement de l'image

Tu verras neanmoins des marges, il faut ajuster au point pres les marges, elles sont neanmois necessaire, puisque Height et Width donne la taille exterieure de la fenetre
 
Dernière édition:

Gix

XLDnaute Occasionnel
Re : Image égale à la taille de l'écran

Re Wilfried,

Apparemment on n'arrive pas à se comprendre, en fait je voudrais qu' à l'ouverture du classeur cette image s'ajuste automatiquement sur la feuille par rapport à la taille de l'écran

Regarde dans la pièce jointe chez moi ça marche écran 20 large 1680x1050
je suis sûr que chez toi cela ne sera pas bon sauf si tu possèdes le même écran lol :D
Donc le problème il faut que l'image s'ajuste auto quelque soit la taille de l'écran et sa résolution.

http://cjoint.com/?bdkA5YQjhN

Merci pour tes efforts
A te lire
Gix.
 

wilfried_42

XLDnaute Barbatruc
Re : Image égale à la taille de l'écran

re:

ton fichier en retour

j'ai apporté quelques modif dans les options (enlevé les onglets, les scrollbar)
un affichage plein ecran
et un ajustement de l'image en tenant compte des eppaisseurs des bords de l'application et de la fenetre

les width et height sont les largeurs et hauteurs des fenetres mais de la partie exterieur, l'image doit etre forcement plus petite puisqu'elle doit etre à l'interieur, il faut tenir compte de la largeur de la bordure de la fentre

Ton image chez moi s'ajuste au poil pres

Desolé pour la taille du fichier je ne peux le reduire à cause de la taille de l'image, et je n'aime pas c-joint (21 jours de vie)

ps : si ca ne marche pas je retirerai le fichier (trop volumineux)

Edit : De par sa taille, j'ai retiré le fichier que j'ai gardé sur mon ordi, s'il y en a qui sont interessés, me joindre par message privé........
 
Dernière édition:

Gix

XLDnaute Occasionnel
Re : Image égale à la taille de l'écran

Re Wilfried

Merci de ton aide j'ai testé sur l'écran 20 large de 19 normal à priori cela fonctionne. il me reste plus que le Pc portable 15 à tester au cas où il y a un souci je te tiendrais au courant.
Merci et bonne fin de soirée
A bientôt

Ps: Tu peux supprimer le fichier car il servait uniquement d'exemple.
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 505
Membres
103 565
dernier inscrit
Fabien78