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 :

Pb redimensionnement image après insertion


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2016
    Messages : 2
    Par défaut Pb redimensionnement image après insertion
    Bonjour,

    J'ai trouvé en cherchant sur le web, une macro VBA permettant après un double click sur une cellule, d'insérer une image et de la redimensionner à la taille de la cellule en respectantses proportions.
    Je suis sur Excel 2013. Cette cellule est une cellule fusionnée.

    Cela fonctionne pour la plupart des images mais bizarrement cela ne fonctionne pas pour certaine : . Et j'ai remarqué qu'il s'agit souvent de photo (notamment celles prises avec l'ordinateur ou une appareil photo) mais pas que.
    Le problème de dimensionnement se situe uniquement sur la largeur de l'image. Quand je fais afficher les dimensions de l'image que la macro récupère la largeur est fausse tandis que la hauteur est bonne !

    Savez vous comment résoudre ça ?

    Merci beaucoup

    1er code pour lancer l'insertion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim picToOpen As String
     
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
    ScreenUpdating = False
    picToOpen = Application.GetOpenFilename("Pics (*.jpg;*.gif;*.png;*.jpeg), *.jpg;*.gif;*.png;*.jpeg")
    InsertPictureInRange picToOpen, Selection
    End If
     
    End Sub
    2nd code pour redimensionner l'image
    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
     
    Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
    ' inserts a picture and resizes it to fit the TargetCells range
    Dim p As Object
    Dim t, l, w, h As Double
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
    If Dir(PictureFileName) = "" Then Exit Sub
    ' import picture
    Set p = ActiveSheet.Pictures.Insert(PictureFileName)
    ' determine positions
    With TargetCells
    t = .Top
    l = .Left
    w = .Width
    h = .Height
    End With
    ' position picture
    With p
    .Top = t
    .Left = l
    .Width = w
    .Height = h
    End With
    Set p = Nothing
    End Sub
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    • Type de fichier : xlsm FI.xlsm (32,4 Ko, 117 affichages)

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

Discussions similaires

  1. Redimensionnement image après upload
    Par thomix68 dans le forum Langage
    Réponses: 7
    Dernier message: 22/10/2010, 16h36
  2. Redimensionner images apres chargement
    Par Skrys dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 14/10/2009, 10h03
  3. [Upload] Redimensionner image après upload
    Par leroidje dans le forum Langage
    Réponses: 3
    Dernier message: 21/11/2008, 11h12
  4. [Upload] Redimensionner une image après upload
    Par putubudiarta dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2007, 12h32
  5. Affichage d'une image après insertion dans une base
    Par leloup84 dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 16h34

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