Microsoft 365 Rotation photo

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bonjour, il faut passer par GDI

voici un exemple :

VB:
Option Explicit
Private O As ClgDi32
 
Private Sub UserForm_Initialize()
 
Set O = New ClgDi32
 
' Chargement d'une image de fond
O.OpenFile ThisDocument.Path & "\Baleineau.jpg"
' Affiche l'image
O.RepaintControl Me.Image0
 
End Sub
 
Private Sub CommandButton1_Click()
 
O.Rotate (90)
 
' Affiche l'image
O.RepaintControl Me.Image0
 
End Sub
 
Tout d’abord merci de m’avoir répondu aussi rapidement, mais j’ai un souci avec le programme.
J’obtiens une erreur au niveau du module de classe clGdi32. Dans la partie Énumérations Excel me dit: Gdi32SizeModeClip = acoLESizeClip
Erreur de compilation. Constante requise.
j’avoue qu’à ce niveau je n’ai pas les compétences, je n’y comprends rien.
 
re
je ne suis pas sur qu'il faut absolument passer par le module d'arkham pour faire une rotation d'une image
il y a plus simple
pourrait on avoir cette image SVP je vais tenter un truc simple
et peut etre meme le code du comment cette image atterrit dans ton userform serait un plus
 
bon j'ai tenté tout seul et je me suis pas trompé
demo7.gif

et voila le code qui suffit amplement
VB:
Sub rotate(x)
    Dim Img As Object, IP As Object, img1$, img2$
    img1 = ThisWorkbook.Path & "\Imgtemp.jpg"
    img2 = ThisWorkbook.Path & "\ImgR.jpg"

    SavePicture Image1.Picture, img1
    Set Img = CreateObject("WIA.ImageFile")    'Création conteneur pour l'image à manipuler
    Img.LoadFile ThisWorkbook.Path & "\Imgtemp.jpg"    'Chargement de l'image dans le conteneur
    Set IP = CreateObject("WIA.ImageProcess")    'Création du gestionnaire de filtre
    With IP.Filters
        .Add IP.FilterInfos("RotateFlip").FilterID
        .Item(1).Properties(1).Value = x
        Set Img = IP.Apply(Img)    'Application du filtre à l'image
    End With
    'Enregistre l'image redimensionnée
    Img.SaveFile img2
    Image1.Picture = LoadPicture(img2)
    Kill img1: Kill img2
End Sub

et son utilisation dans le userform fichier joint avec bouton pour pivoter 90/180 et bouton pour sauver l'image modifiée
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Insertion de photo
Réponses
14
Affichages
534
Réponses
5
Affichages
211
Réponses
5
Affichages
198
Retour