IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

adapter la taille d'une image en fonction de la taille de l'ecran


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    ingenieur systemes industriels
    Inscrit en
    Août 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingenieur systemes industriels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 53
    Points : 43
    Points
    43
    Par défaut adapter la taille d'une image en fonction de la taille de l'ecran
    Bonjour,

    j'aimerais ajouter un background a ma macro, qui s'adapte en fonction de la taille de l’écran.
    j'ai procédé ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Workbook_Open()
    ThisWorkbook.Sheets("ctrl board").Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
     
    Dim ws As Worksheet
    Set ws = ActiveSheet
    W_width = Application.Width
    W_height = Application.Height
     
    With ws.Shapes("Image 56")
    .Top = 1
    .Left = 1
    .Height = W_height
    .Width = W_width
    End With
     
    ThisWorkbook.Sheets("ctrl board").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
     
    End Sub
    Le problème est le suivant:
    l'image ne s'adapte jamais à la taille de mon écran, et en creusant un peu j'ai trouvé pourquoi ça ne marche pas.
    En fait je n'arrive pas à forcer la valeur des propriétés .height et .width
    En mode débogage, je vois que .height par exemple prend bien la valeur de W_height mais ça change automatiquement quand j'attribue une valeur a .width par la suite!

    Je ne comprends pas pourquoi les valeurs changent automatiquement et qu'elles sont dépendantes(est-ce le .autoshapetype?).

    Merci pour l'aide,
    Ryan

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour, bonjour !

    Rien qu'en jetant un œil aux propriétés de l'objet Shape !

    Par défaut cet objet agit de la sorte afin de respecter l'homothétie de l'image.

    Mais pour vouloir la déformer, désactiver sa propriété LockAspectRatio

    Dans le cas contraire, c'est juste de la pure logique et là je te laisse y réfléchir, j'ai déjà effectué la recherche à ta place !

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  3. #3
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    si tu souhaite conserver un aspect graphique joli sur ton background, tu peux aussi insérer la même image en plusieurs format dans ton projet et en fonction de la résolution, charger telle ou telle image.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut




    C'est inutile en respectant la logique du fonctionnement de l'objet Shape

    De plus bonjour le gâchis de ressources en insérant plusieurs formats de la même image !


  5. #5
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    une image en 1920*1080 que tu scale en 600x400 t'auras juste 10 gros pixels a l'écran ...

    et tu n'en load qu'une lors du launch, les autres ne sont pas en mémoire.

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut




    Non, c'est dans le sens contraire ! (upsizing et non pas downsizing)

    C'est un peu comme X < 0 dans l'autre post …

  7. #7
    Membre du Club
    Homme Profil pro
    ingenieur systemes industriels
    Inscrit en
    Août 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingenieur systemes industriels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 53
    Points : 43
    Points
    43
    Par défaut
    Bonjour Marc-L , Nako_Lito
    Merci pour votre aide, j'etais en vacances c'est pour cela que je ne reponds que maintenant.

    @Nako_lito, mon but est d'avoir une macro avec un background qui s'adapte a toute taille d'ecran.
    l'idée me semble bien mais compliquée a mettre en place, un resize de l'image me suffit vu que je me souci peu de la qualité de l'image.

    @ Marc_L , merci pour ton conseil concernant le LockAspectRatio, mais j'avais déja essayé et ca ne marche pas

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut





    De mon côté pas de souci …



Discussions similaires

  1. Agrandir une image en fonction e la taille d'une div
    Par rolls dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 25/02/2013, 15h33
  2. Réponses: 1
    Dernier message: 13/02/2010, 18h49
  3. Dimensionner un clip en fonction de la taille d'une image externe
    Par Msieurduss dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 11/05/2009, 16h31
  4. Redimensionner une image en fonction de la taille de l'écran
    Par vva dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/01/2009, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo