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 :

Redéfinir dimension image en gardant la proportionnalité


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut Redéfinir dimension image en gardant la proportionnalité
    Bonjour à tous.
    Alors voilà mon problème, j'ai un client qui m'a fourni toute une série de photo de taille (dimension) différente. Je dois les insérer dans Excel en les redimensionnant en 2.5x1.67 maxi (2.5 obligatoire, 1.67 variable en fonction de la proportionnalité) et je n'y parviens pas.
    Actuellement, j'insère les images avec la librairie WIA et la commande Shapes.AddPicture bien que cela ne me satisfait à cause de la librairie à déployer avec le fichier Excel.
    Donc, si vous pouviez m'aider sur cette histoire de taille et éventuellement sur comment insérer les images redimensionnées sans passer par la librairie...
    Merci d'avance à tous
    Cordialement
    doudouallemand
    développeur en folie cherche à ... développer encore plus

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    tout dépend de la méthode utilisée pour insérer les images. Si elles sont insérées dans des contrôles "image", tu as la propriété PictureSizeMode qui permet d'avoir une image non déformée quelque soit les dimension du conteneur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
    ActiveSheet.Image1.Height = 100
    ActiveSheet.Image1.Width = 100
    ActiveSheet.Image1.PictureSizeMode = 3 'correspond à fmPictureSizeModeZoom
    End Sub
    Si l'image est insérée directement, tu peux la redimensionner en modifiant son échelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
    Dim Limage As Shape
        For Each Limage In ActiveSheet.Shapes
            Limage.Select
            Selection.ShapeRange.ScaleWidth 0.57, msoFalse, msoScaleFromMiddle
            Selection.ShapeRange.ScaleHeight 0.57, msoFalse, msoScaleFromMiddle
        Next
    End Sub
    Tu précises tes besoins
    A+

  3. #3
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    En fait, c'est pour des images que j'insère directement.
    Je viens de regarder ta deuxième solution mais, comment trouver le bon ratio pour chaque image dans ce cas là ?
    Merci à toi
    développeur en folie cherche à ... développer encore plus

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Si tu peux donner une hauteur commune à toutes tes images, tu calcule une échelle commune
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim Limage As Shape, NewH as integer, NewL as integer
    Dim Hauteur as integer, Largeur as integer
        For Each Limage In ActiveSheet.Shapes
            Limage.Select
            Hauteur = Selection.ShapeRange.Height
            Largeur = Selection.ShapeRange.Width
            NewH = 200
            NewL = Int(Largeur * (NewH / Hauteur))
            Selection.ShapeRange.LockAspectRatio = msoTrue
            Selection.ShapeRange.Height = NewH
            Selection.ShapeRange.Width = NewL
        Next
    End Sub
    Si c'est une largeur commune que tu veux, tu inverses
    A+

  5. #5
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    OK, merci.
    Dernière question : comment savoir combien de pixels (puisque tes valeurs indiquées sont en pixels) font 2.5 cm et 1.67 cm ?
    Merci
    développeur en folie cherche à ... développer encore plus

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    On compte 567 twips par centimetre "logique"

    Le reste (calcul du nombre de pixels par rapport au nombre de twips) dépend directement de la résolution de l'écran.

  7. #7
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    D'accord, merci à tous les deux pour ces réponses.
    Je passe le sujet en
    doudouallemand
    développeur en folie cherche à ... développer encore plus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec les dimensions images dans ie
    Par cuisto44000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 01/09/2008, 15h05
  2. [HTML] Dimension image dans un nouvelle fenêtre
    Par solorac dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 03/07/2008, 14h34
  3. [C#.NET] Obtenir Dimensions Image sur un fichier Uploader
    Par t1marlartiste dans le forum ASP.NET
    Réponses: 3
    Dernier message: 21/02/2008, 15h57
  4. Réponses: 3
    Dernier message: 26/02/2007, 18h00
  5. problème dimension image
    Par groupe51 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 13/07/2006, 17h31

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