Comment zoomer sur une image

Excel 2007
Bonjour a tous et toutes, forum bonjour

Je cherche un petit code vba qui pourrai en plaçant le curseur a un endroit d'une image ou photo
et sur un ou plusieurs clics agrandir l'image sans perte de qualité si possible et afficher le pourcentage du zoom 10% ou 20% et revenir en arrière.
--- Pour déterminer le facteur zoom je ne sais pas comment faire

--- une idée comme ca un clic on zoom 10% encore un clic on zoom encore 10% de plus etc etc etc

avec deux boutons un pour le zoom et un pour faire revenir la photo ou l'image a la normale.

Merci de votre aide et bon app

bonne journée a tous

Cdlt Ray

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. Re cs_Le Pivert,

    Merci pour ta réponse,

    C'est bon pour moi, j'ai juste remplacer 450% par 437 % maxi chez moi
    la macro se lance a 437 % on va pas chipoter, ca fonctionne bien ca calle l'image
    comme il faut juste avant de commencer, très bien.

    Vu l'heure bon app et bonne après midi

    Encore a toi pour ton aide.

    je passe en résolu le sujet

    Merci bien cordialement Raymond
    1. Salut cs_Le Pivert,

      Je n'arrive pas a effectuer un test pour lancer la macro citer si dessous.

      Afin de rattraper le léger décalage de la position de l'image.
      Je souhaiterai effectuer un petit test pour lancer la macro "Positionnement_Haut" qui va me replacer l'image5 nickel au bon endroit.

      Merci pour ton aide et une bonne journée a toi.
      Cdlt Ray


      Private Sub SpinButton1_Change()
      ActiveSheet.Shapes("Image 5").Width = SpinButton1.Value
      Range("K13").Value = "Zoom " & SpinButton1.Value - 100 & " %"

      ' Ici je pense pour le test pour lancer la macro "Positionnement_Haut" ???

      End Sub
      1. Contributeur
        comme ceci:

        Private Sub SpinButton1_Change()
        ActiveSheet.Shapes("Image 5").Width = SpinButton1.Value
        Range("K13").Value = "Zoom " & SpinButton1.Value - 100 & " %"
        If Range("K13").Value = "Zoom 450 %" Then
        Positionnement_Haut
        End If
        End Sub


        Voilà

        @+
    2. Salut cs le pivert

      Merci pour ta réponse et pour le retour du fichier.
      Vu que je n'ai pas besoin de précision absolue je vais me contenter
      de ton travail, ce n'ai pas trop mal et de toutes façons c'est mieux donc je garde.

      Je te remercie une fois de plus et je te souhaite une très bonne soirée.

      Bye bye
      Bien cordialement Raymond
      1. Re
        merci pour ta réponse,

        j'ai fait comme conseillé, et l'image en diminuant le zoom devient minuscule et trop grande en augmentant le zoom

        voila le résultat de mon essai.

        Mais si tu a essayer le fichier sur ton écran il est possible que ça ne soit pas compatible.

        Moi j'ai un HDMI senseye 3 LED GW 2765 Benq

        Bonne soirée a toi
        .
        Cdlt Ray
      2. Salut cs_Le_Pivert

        Merci pour ta réponse,

        J'ai suivi ton conseil et je ne suis pas convaincu car pour moi

        l'image au plus petit devrai faire environ 25%
        l'image au plus grand devrai faire faire environ 150%
        Ou bien je n'ai pas tout compris sur la façon d'afficher a peu près la bonne valeur

        je te joint mon fichier tu verra par toi mème
        le code concernant le zoom est en bas de la feuil1

        je te remercie pour ton aide, bonne après midi.

        Cdlt Ray

        https://www.cjoint.com/c/LCjprrBrSsG
        1. Contributeur
          Il faut aller dans les propriétés du SpinButton1 et mettre Max à 550 et Min à 100

          ensuite corriger le code comme ceci:

          Private Sub SpinButton1_Change()
          ActiveSheet.Shapes("Image 5").Width = SpinButton1.Value
          Range("K13").Value = "Zoom " & SpinButton1.Value - 100 & " %"
          End Sub
          


          Voilà

          @+
      3. Salut cs_Le_Pivert,

        Je reviens vers toi car le zoom me parait ne pas correspondre a la réalité
        -Quand l'image est au plus grand j'ai un zoom de 367%
        -Quand l'image est au plus petit j'ai un zoom de -123%

        En sachant que je travaille avec un affichage permanent Zoom Excel de 150 % sinon c'est trop compliqué on ne voit pas bien, 150% en affichage est correct.

        Donc svp comment on fait le calcul du zoom pour être au plus près du zoom150% affichage Excel


        Private Sub SpinButton1_Change()
        ActiveSheet.Shapes("Image 5").Width = SpinButton1.Value
        Range("K13").Value = "Zoom " & SpinButton1.Value - 200 & " %"
        End Sub


        Merci pour ton aide et vu l'heure, bon app a toi

        Cdlt Raymond
        1. Contributeur
          j'ai essayé avec le zoom de la feuille à 150%, aucune incidence.

          Il faut remplacer 200 par une valeur correspondant à la largeur de l'image au minimum

          Voilà
      4. Re

        Ok merci tout de même, c'est déjà bien ce que j'ai maintenant grâce a toi et je t'en remercie beaucoup.

        Je te souhaite un bon W-end, encore merci pour ton aide et ton savoir partager.

        Bye Bye a une prochaine fois LOL

        Bien cordialement Raymond
        1. Contributeur
          je n'ai pas répondu à ta question, parce qu'à part avoir recours à Photoshop je ne vois rien d'autre

          LOL
          1. Salut le pivert

            Merci pour le code et ton aide
            ca fonctionne super bien merci

            Sinon tu n'a pas répondu a ma question.

            -Sinon il serai possible svp en plaçant le curseur a un endroit d'une image ou photo et zoomer un endroit de la zone autour de la sélection faites avec la souris, plutot que de tout zoomer ???

            Non je ne connaissais pas pour l'appareil photo je vais regarder ca

            Merci et bonne après midi a toi.

            Cdlt Ray
            1. Salut Le Pivert,

              Bon alors j'ai mis le spin button sur la page avec les paramètres plus le petit code que tu m'a dit et c'est bon ca fonctionne bien, rien fait d'autres et pas continuer le lien jusqu'au bout.

              -Sinon il serai possible svp en plaçant le curseur a un endroit d'une image ou photo zoomer un endroit de la zone autour de la sélection faites avec la souris, plutot que de tout zoomer.

              -Et si possible de faire afficher sur la page a coté du spin button le suivi en fonction du déplacement les paramètres du zoom en cours par EX (Zoom 25%)

              Sinon c'est pas mal et rapide

              Merci de ton aide pour paufiner et ca sera bon pour moi.

              Bon w-end a toi
              Cdlt Ray
              1. Contributeur
                pour afficher le zoom:

                Option Explicit
                Private Sub SpinButton1_Change()
                ActiveSheet.Shapes("Image 1").Width = SpinButton1.Value
                Range("H5").Value = "Zoom " & SpinButton1.Value - 200 & " %"
                '200 valeur mini à adapter ainsi que la cellule réceptrice
                End Sub
                


                Voilà
            2. Re Le Pivert,

              Merci pour ta réponse
              Vu comme ca je comprends mieux pourtant sur la première photo du premier lien il est bien écrit Userform2 avec deux spin button qui m'a induit en erreur
              je fait ca demain trop tard 19h c'est l'heure lol
              bonne soirée a toi et merci
              Cdlt Ray
              1. Salut Le Pivert,

                Merci pour ta réponse,

                J'ai essayer mais pas réussi c'est mal expliquer sur pas a pas et un peu confus.

                j'ai fait UF, j'ai mis le spin button, j'ai mis ton petit code dans le spin button.

                Après je comprends plus rien

                Bonne fin d'après midi a toi

                Cdlt Ray
                1. Contributeur
                  Bonjour,

                  en utilisant un SpinButton que tu associes à la longueur et la hauteur de ton image:

                  https://www.mediaforma.com/vba-excel-spinbutton-boite-de-dialogue-personnalisee/

                  1. Contributeur
                    voir la marche à suivre:



                    faire un double clic sur le Spinbutton et mettre ce code:

                    Option Explicit
                    Private Sub SpinButton1_Change()
                    ActiveSheet.Shapes("Image 1").Width = SpinButton1.Value
                    End Sub
                    


                    Voilà

                    @+ Le Pivert