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 :

Resize d'images sous Excel


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
    Apprenti ingenieur administrateur systèmes
    Inscrit en
    Octobre 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti ingenieur administrateur systèmes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 67
    Par défaut Resize d'images sous Excel
    Bonjour,
    Voici mon problème: Je voudrai redimensionner des images sous excel. Ma macro marche bien si je séléctionne plusieurs images sur la feuille elles se redimensionnent. Cependant si je ne séléctionne qu'une image parmis celles qui sont sur la feuilles toutes les images se redimenssionnent et non seulement celle que j'ai séléctionnée. Comment faire?

    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
    23
    24
    25
    26
    27
    Sub Imagex3()
    '
    ' Imagex3 Macro
    ' Redimensionnement Imagex3
    '
    ' 'Declarons nos variables
        Dim PecentSize As Integer
        Dim inShape As Shape
        Dim i As Integer
        Dim nbrImagesSelect As Long
        nbrImagesSelect = ActiveSheet.Shapes.Count 'Récupération du nombre d'images de la SELECTION
        i = 1
     
        'On parcours toutes les images de la selection et on les redimmensionne une à une
        ' ==> on met un compteur i à 1 (première image i=1)
        'tant que le compteur n'à pas atteint le nombre d'images alors on redimensionne l'image n°i
        'enfin on ajoute 1 à i pour parcourir l'image suivante (i=i+1)
     
        While i <= nbrImagesSelect
        Set inShape = ActiveSheet.Shapes(i)
        'Redimensionnement de la largeur
        inShape.Width = 150
        i = i + 1
        Wend
    '
    '
    End Sub

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    C'est normal puisque c'est exactement ce que tu as codé : redimensionner toutes les formes, sans tenir compte de la sélection...

    Cordialement,

    pgz

  3. #3
    Membre confirmé
    Homme Profil pro
    Apprenti ingenieur administrateur systèmes
    Inscrit en
    Octobre 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti ingenieur administrateur systèmes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 67
    Par défaut
    daccord

    merci pour la réponse

    aurait-u une piste alors pour gérer la sélection?

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    Bonjour rien de plus simple

    sélectionne ton image et lance cette sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub resizeImage()
    If TypeName(Selection) = "Picture" Then Selection.Width = 150
    End Sub
    ou bien met la ligne de code dans le select change du worksheet comme ceci
    et ca se fera automatiquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If TypeName(Selection) = "Picture" Then Selection.Width = 150
    End Sub
    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [XL-2007] Problème de compression d'image en VB sous Excel 2007
    Par GBAGO dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2010, 14h12
  2. [VxiR2] Export image sous Excel
    Par cecile15 dans le forum Webi
    Réponses: 4
    Dernier message: 18/08/2009, 09h33
  3. [XL-2003] mouvement d'image sous excel
    Par joums dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/07/2009, 11h18
  4. [VBA-E] fusionner 2 images sous excel
    Par richou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2007, 04h54
  5. Urgent: Sauvegarder une image sous excel
    Par aimane_z dans le forum Modules
    Réponses: 3
    Dernier message: 05/10/2006, 15h45

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