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 :

Rotation d'une image [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Février 2013
    Messages : 66
    Par défaut Rotation d'une image
    J'ai finalisé une macro qui insère des photos dans un fichier Excel, les redimensionne, ...

    Hors il arrive dans certains cas que la photo ne se redimensionne pas bien parce que la photo est tournée.

    Nom : 2020-10-14 10_54_06-FicheAppui_437468.xlsx - Excel.png
Affichages : 579
Taille : 6,4 Ko
    Dans le cas précis, ci-dessus, c'est une photo en mode portrait.

    C'est à dire que la hauteur est plus grande que la largeur.

    Mais je ne sais pourquoi, l'appareil photo (le téléphone) qui a pris cette photo, l'a enregistrée en paysage, et lui a donné une rotation de 90°.

    j'aimerais donc pouvoir interroger la photo au moment de l'insertion. Et lui demander son paramètre "Rotation", si c'est autre 90° ou 270°, je lui appliquerais le bon traitement pour que sa redimension se déroule bien.

    mon code :

    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
    19
    20
    21
    22
                Do While nf <> ""
                    Cls.Sheets(1).Cells(82, Colonne).Select
                    On Error Resume Next
                    Set monimage = Cls.Sheets(1).Pictures.Insert(Chemin & "Photo\" & poteau & "\" & nf)
                    If monimage.Height > monimage.Width Then
                        monimage.Height = 230
                        monimage.Top = Cells(82, Colonne).Top
                        monimage.Left = Cells(82, Colonne).Left
                    Else
                        monimage.Width = 270
                        If monimage.Height > 230 Then
                            monimage.Height = 230
                        End If
                        monimage.Left = Cells(82, Colonne).Left
                    End If
     
                    Colonne = Colonne + 12
                    If Colonne = 25 Then
                        Exit Do
                    End If
                    nf = Dir ' image suivante
                Loop

  2. #2
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour,

    Je n'ai pas à ma disposition d'image qui se comporte de la même façon lors d'une insertion dans Excel.
    Impossible donc pour moi d'effectuer des tests.

    Mais je peux au moins dire que votre objet monimage est de type Picture, qui est très mal documenté sur MSDN...
    Vous pouvez accéder à la valeur de la propriété qui vous intéresse via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monimage.ShapeRange.Rotation
    A vous ensuite d'appliquer le traitement adéquat.

    Bonne journée

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Février 2013
    Messages : 66
    Par défaut
    Super. merci

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

Discussions similaires

  1. Rotation d'une image 2D
    Par FidoDido® dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 29/06/2011, 11h55
  2. Rotation d'une image.
    Par poly128 dans le forum Delphi
    Réponses: 4
    Dernier message: 15/05/2006, 12h26
  3. rotation d'une image
    Par KHEOPS1982 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/12/2005, 17h21
  4. Rotation d'une image TIFF
    Par Tub-95 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 14/10/2005, 20h56
  5. Définir un angle de rotation pour une image
    Par mateo.14 dans le forum C++
    Réponses: 5
    Dernier message: 25/03/2005, 14h43

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