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 :

faire tourner une image


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut faire tourner une image
    bonjour
    il faudrait incruster une image et le faire tourner autour d'un point en manipulant par exemple un scrollbar
    la methode "Image" a pour proprieté "left" et "top" qui ne repondent pas au probleme
    voyezvous une solution

  2. #2
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    Voici une méthode pour faire tourner l'image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub ScrollBar1_Change()
     
        ActiveSheet.Shapes("Picture 1").Rotation = ScrollBar1.Value
     
    End Sub

  3. #3
    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 537
    Points
    5 537
    Par défaut
    Bonjour, jffaber,

    Comment sais-tu qu'il s'agit d'une image sur la feuille et non dans une UserForm ?

    Bonjour, paulselvan,

    il faut prendre l'habitude de préciser les choses

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    j'étais sur la piste avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set aa = ActiveSheet.Pictures.Insert("c:\m0.jpg")
    aa.Select
    Selection.ShapeRange.Rotation = ScrollBar1.Value
    le problème avec ça ,est que lors d'une rotation accomplie l'image de la position d'avant n'est pas effacée...ce qui fait qu'il y a une multitude superposition
    donc comment l'effacer ?

  5. #5
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir,


    Vu le forum il semble évident que tu parle d'une image sur une feuille de calcul excel, et dans un autre cas tu aurai bien entendu précisé..

    par contre ce que tu nous dis pas c'est comment tu compte mettre ton image dans ta feuille, par macro, comme ton code précédent, mais attention la tu l'insére à chaque appel de ta macro .. il y as probléme..

    bon je considére que tu pose au préalable ton image dans la feuil1 de ton classeur excel, tu conserve son nom par défaut (voir en haut à gauche ) : "Image 1" ,place alors ce code dans un module de ton classeur et GO...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub YaImage()
     Dim sh As Shape
     Set sh = ThisWorkbook.Sheets("Feuil1").Shapes("Image 1")
     sh.Rotation = sh.Rotation + 10
     Application.OnTime Now + TimeSerial(0, 0, 1), "YaImage"
    End Sub

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    bonjour en effet c'est sur feuille d'excel...
    non ,à la ligne <<sh.rotation=sh.rotation+10">> j'ai un "accès refusé"!
    aussi que faut-il substituer à la place "Image 1" dans << Set sh = ThisWorkbook.Sheets("Feuil1").Shapes("Image 1")>>...


    je n'ai que qq notions en vba excel mais je n'ai vu que 2 moyens pour manipuler une image :
    1> la "méthode image" de la boîte à outils Contrôles
    avec l'inconvénient de l'afficher seulement avec les pptés "Left" et "Top" donc impossible de la faire pivoter.
    2>l'autre, utiliser "Dessin>Insérer une image depuis un fichier" .l'inconvénient est que je ne sais comment effacer le pivot précédent .ce que je veux donc : le même avec une seule image visible et commandé par scrollbar

  7. #7
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonjour,


    Lorsque tu insére une image par le menu excel : insertion, image, a partir du fichier.
    si tu sélectionne l'image son nom apparait en haut à gauche dans la case où tu as habituellement le nom de la cellule ou selection en cours, tu remplace Image 1 par ce nom, veille aussi au bon nom de feuille : feuil1 puis tu relance le code.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    bonjour oui j'ai vu défiler "Image 1" en haut à gauche...mais je ne saisis pas bien votre idée;
    pouvez vous écrire un pg qui incruste l'image "c:\img.jpg" dans une feuille de calcul , puis lui associer un scrollbar de façon à ce qu'à chaque clic sur celui-ci l'image pivote de n° autour d'un point A ,tout en effaçant l'image de la position précédente

  9. #9
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par paulselvan Voir le message
    bonjour oui j'ai vu défiler "Image 1" en haut à gauche...mais je ne saisis pas bien votre idée;
    pouvez vous écrire un pg qui incruste l'image "c:\img.jpg" dans une feuille de calcul , puis lui associer un scrollbar de façon à ce qu'à chaque clic sur celui-ci l'image pivote de n° autour d'un point A ,tout en effaçant l'image de la position précédente
    bonsoir vous avez essayé le code posté plus haut ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    oui j'ai essayé :ce qui se passe est qu'à chaque clic sur le scrollbar le nom de l'image change :"Image 1",apres une rotation :"Image 2"..ainsi de sute à chaque clic ce nom change automatiquement en haut à gauche...
    or dans vos codes vous fixer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set sh = ThisWorkbook.Sheets("Feuil1").Shapes("Image 1")
    ...et les images pivotées se superposent !

  11. #11
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par paulselvan Voir le message
    oui j'ai essayé :ce qui se passe est qu'à chaque clic sur le scrollbar le nom de l'image change :"Image 1",apres une rotation :"Image 2"..ainsi de sute à chaque clic ce nom change automatiquement en haut à gauche...
    or dans vos codes vous fixer << Set sh = ThisWorkbook.Sheets("Feuil1").Shapes("Image 1")>>...et les images pivotées se superposent !

    dans mon code il n'y as pas de scroll bar, commencez par le comprendre...

    l'insertion de l'image ne doit être effectué qu'une seule fois !

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    j'ai remarqué que vous n'utilisez pas de scrollbar d'ailleurs c'est pour ça que je voulez un exemple avec...
    avez vous lu les pb que j'expose : les images se superposent ,le pont de départ à fixer..et de ça vous n'en dites rien
    je n'ai pas à ma disposition la liste & leur signification de tous les méthodes,proprietes du vba ...sinon comme vous sousentendez j'aurai pigé au quart de tour...

  13. #13
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par paulselvan Voir le message
    j...
    je n'ai pas à ma disposition la liste & leur signification de tous les méthodes,proprietes du vba ..
    je n'ai pas utilisé d'autre méthodes que celles que vous utilisez, mais avez vous réussi à faire tourner le code que je vous propose et qui vous montre comment résoudre votre probléme de duplication ! du comme je vous l'ai écrit au moins 2 fois à votre obstination à multiplier les insert !

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    voila à quoi ressemble mon pg qui se declenche lors d'un appui sur le scrollbar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub ScrollBar1_Change()
    YaImage
    End Sub
    Sub YaImage()
     Dim sh As Shape
     Set sh = ThisWorkbook.Sheets("Feuil2").Shapes("Image 508")
     sh.Rotation = sh.Rotation + 10
     Application.OnTime Now + TimeSerial(0, 0, 1), "YaImage"
    End Sub
    devinez ce qui tombe...erreur "l'élément portant ce nom est introuvable" il s'agit de l'"image 508" qui ne s'appelle plus ainsi tellement ça défile
    ... vous avez peur que le forum coule de vos explications...

  15. #15
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par paulselvan Voir le message
    .....erreur "l'élément portant ce nom est introuvable" il s'agit de l'"image 508" qui ne s'appelle plus ainsi tellement ça défile
    ......
    si vous n'utilisez que ce code il n'y as aucune raison que l'image change de nom ..! veuillez controlez celui-ci ainsi que le nom de la feuille, de plus pour le moment oubliez votre scrolbar qui ne sert à rien la ou vous l'utilisez.

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    d'ac YaImage permet de manipuler l'"Image 1"

  17. #17
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    donc cela tourne ?

    maintenant que dois faire ton script, l'image et déjà présente au moment du lancement où il doit l'insérer ? et s'il l'insére doit'on l'effacer par exemple à la fin du script?

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    elle doit être une fois pour toute être insérer dans la feuille...
    YaImage est une procédure qui fait tourner l'"Image 1" de 10° toutes les 1s
    ..le 1èr mvt ok
    puis message err :Impossible de trouver la macro dans Classeur1.xls'!YaImage'

  19. #19
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par paulselvan Voir le message
    elle doit être une fois pour toute être insérer dans la feuille...
    insérer comment , par le code ...

    la macro YAImage doit être placée dans un module (pas dans le code Thisworkbook ou d'une feuille)

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par jffaber Voir le message
    Bonjour,

    Voici une méthode pour faire tourner l'image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub ScrollBar1_Change()
     
        ActiveSheet.Shapes("Picture 1").Rotation = ScrollBar1.Value
     
    End Sub
    super efficace !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Lazarus] Faire tourner une image
    Par Fatalize dans le forum Lazarus
    Réponses: 4
    Dernier message: 12/03/2012, 09h37
  2. [Débutant] Faire tourner une image selon un axe calculé
    Par Attila54 dans le forum VB.NET
    Réponses: 3
    Dernier message: 29/11/2011, 15h59
  3. Comment faire tourner une image GIF ?
    Par Claude_Azoulai dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 28/07/2009, 10h21
  4. Faire tourner une image en fonction des jours
    Par bastien_hj dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 04/04/2009, 17h25
  5. Réponses: 7
    Dernier message: 28/06/2007, 08h26

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