Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 17/03/2008, 15h00   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: mars 2007
Messages: 19
Par défaut Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille des ima

Bonjour,

Quelqu'un pourrait il m'aider à modifier cette macro. Actuellement, celle-ci me permet d'afficher dans les cellules de la colonne B les images dont les noms figurent dans la colonne A. Ces images se doivent d'être contenues dans le même répertoire que le fichier excel.

J'aimerais simplement la modifier et faire que les images s'affichent au format de la cellule B en gardant les proportions. C'est au maximum la largeur de la cellule et au maximum la hauteur de la cellule. Mais je me repete les proportions se doivent d'être respectées.

Voici la macro actuelle :



Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Val As String
Dim MyCell As Range
Dim MyPicture As Picture
Dim Pict
Dim a As Long
On Error GoTo errorhandler
Application.ScreenUpdating = False

Val = Target.Value

With Application.FileSearch
.NewSearch
.Filename = ".jpg"
.LookIn = ThisWorkbook.Path
.SearchSubFolders = False
.Execute msoSortByFileName, msoSortOrderAscending

If .Execute > 0 Then
Set MyCell = Target.Offset(0, 1)
MyCell.Select



For Each Pict In ActiveSheet.DrawingObjects ' supprimer ancienne image dans cellule
If Pict.Left = MyCell.Left + (MyCell.Width - 50) / 2 And Pict.Top = MyCell.Top + (MyCell.Height - 50) / 2 Then Pict.Delete
Next

Set MyPicture = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & Val & ".jpg")
With MyPicture.ShapeRange
'.LockAspectRatio = msoFalse
.Height = 55
'.Width = 55
.Top = MyCell.Top + (MyCell.Height - 50) / 2
.Left = MyCell.Left + (MyCell.Width - 50) / 2

End With
MyCell.Select
MsgBox Pict.Left
End If


End With
Application.ScreenUpdating = True
Exit Sub

errorhandler:
Application.ScreenUpdating = True
Exit Sub
End Sub
tennis est déconnecté   Réponse avec citation
ANNONCES
Vieux 17/03/2008, 15h42   #2 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 305
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Avec ceci ça fonctionne chez moi:

Code:
   With MyPicture.ShapeRange
     .LockAspectRatio = msoTrue
     .Height = MaCell.RowHeight
   End With
A+
__________________
vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Ye He Mad!
Hasco est connecté maintenant   Réponse avec citation
Vieux 17/03/2008, 15h54   #3 (permalink)
XLDnaute Nouveau
 
Date d'inscription: mars 2007
Messages: 19
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Merci HASCO,

Cette solution est bonne mais pose un gros problème lorsque on image est plus large que haute. En effet, dans ce cas précis, mon image sort complètement de la cellule sur le plan horizontale. Comment faire alors pour que Width prenne l'avantage sur Height.

Merci
tennis est déconnecté   Réponse avec citation
Vieux 17/03/2008, 16h11   #4 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 305
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Et avec ceci:

Code:
Set MyPicture = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\checkGreen.gif")
With MyPicture.ShapeRange
.LockAspectRatio = msoTrue
If .Height > .Width Then
    .Width = MyCell.ColumnWidth
Else
    .Height = MyCell.RowHeight
End If
End With
__________________
vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Ye He Mad!
Hasco est connecté maintenant   Réponse avec citation
Vieux 17/03/2008, 16h23   #5 (permalink)
XLDnaute Nouveau
 
Date d'inscription: mars 2007
Messages: 19
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Merci,

Je regrette mais ça ne fonctionne pas. La verticale correspond bien à la hauteur de cellule mais pour ces photos avec une grande hauteur horizontale (on va dire largeur), elles sortent toujours de ma cellule.

Je pensais justement à ce genre d'écriture. Je pense que vous n'etes pas loin de la vérité

Merci
tennis est déconnecté   Réponse avec citation
Vieux 17/03/2008, 17h21   #6 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 305
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Re,

Je pense que cela le fera.

Code:
Dim ratio as single

With MyPicture.ShapeRange
'.LockAspectRatio = msoTrue
If .Height > .Width Then
    ratio = .Width / .Height
    .Height = .Height * ratio
    .Height = MyCell.RowHeight
Else
    ratio = .Height / .Width
    .Width = .widht * ratio
    .Width = MyCell.ColumnWidth
End If
End With
End Sub
__________________
vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Ye He Mad!
Hasco est connecté maintenant   Réponse avec citation
Vieux 18/03/2008, 19h29   #7 (permalink)
XLDnaute Nouveau
 
Date d'inscription: mars 2007
Messages: 19
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Bonjour Hasco,

Désolé pour le retard... Merci pour votre travail mais je suis au regret de vous dire que ça ne marche pas. Qu'en est il chez vous ? L'avez vous testé ?

Merci encore
tennis est déconnecté   Réponse avec citation
Vieux 18/03/2008, 19h40   #8 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 305
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Bonsoir,

Oui je l'ai tester avec des petite et grandes images. sinon je ne l'aurai pas envoyé.

Mais pour plus de sûreté je vais recommencer. A tout à l'heure
__________________
vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Ye He Mad!
Hasco est connecté maintenant   Réponse avec citation
Vieux 18/03/2008, 19h48   #9 (permalink)
XLDnaute Barbatruc
 
Avatar de wilfried_42
 
Date d'inscription: novembre 2006
Localisation: Saint etienne
Version Excel : Excel XP (PC)
Messages: 3 750
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Bonjour à tous

Code:
Set MyPicture = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & Val & ".jpg")
With MyPicture.ShapeRange
    .LockAspectRatio = msotrue
    .Top = MyCell.Top 
    .Left = MyCell.Left
    if mycell.height> mycell.width then
          .Height = mycell.height
    else
          .Width = mycell.width
    end if
end with
si j'ai tout compris, ce n'est pas la taille de l'image qu'il faut tester, mais la taille de la cellule qui receptionne
une seule valeur est utile, avec .lockaspectratio = msotrue, le rapport hauteur, largeur est gardé
__________________
salutations

Wilfried

Plus j'apprends, plus je sais....... plus je sais que je ne sais rien.

Venez visiter mon zoo : Cliquez ici il est si petit, un petit click quotidien merci
wilfried_42 est connecté maintenant   Réponse avec citation
Vieux 18/03/2008, 19h52   #10 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 305
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

bonsoir,

je confirme que cela fonction correctement chez moi.

Aller bonne soirée à tous, je vais manger
__________________
vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Ye He Mad!
Hasco est connecté maintenant   Réponse avec citation
Vieux 18/03/2008, 20h54   #11 (permalink)
XLDnaute Nouveau
 
Date d'inscription: mars 2007
Messages: 19
Par défaut Re : Aide pour modifier macro qui permet d'afficher des IMAGES (aide sur la taille de

Bonsoir à vous 2,

Merci beaucoup ça marche... Désormais juste une dernière aide pour centrer cette image dans la cellule...

Merci encore, c'est parfait...
tennis est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Aide pour un novice / Pb intégration images joart Forum spécial EXCEL 2007 2 11/02/2008 10h54
Nul en VBA, besoin d'une petite aide pour modifier Alex Forum Excel 3 30/08/2005 08h48
aide pour macro MARION Forum Excel Downloads - Archives 10 12/09/2004 08h07
aide pour modifier les sources d'un graphique Bebe-Flipper Forum Excel Downloads - Archives 4 20/03/2004 17h13
aide pour macro j marc Forum Excel Downloads - Archives 0 01/10/2003 18h29


Fuseau horaire GMT +2. Il est actuellement 13h13.


(C) 2006 Excel Downloads