Bonjour le forum
Cette macro fonctionnait très bien sous excel 2003
depuis le passage en excel 2010 j'ai un message d'erreur sur cette ligne.
----> rap = Val(Split(taille, "x")(0)) / Val(Split(taille, "x")(1))
Quelque 'un a t'il une solution SVP
-------------------------------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell <> "" Then
répertoireImage = "C:\images\" ' à adapter
NomImage = ActiveCell
If Dir(répertoireImage & "\" & NomImage & ".jpg") <> "" Then
With UserForm1
.StartUpPosition = 1
taille = TaillePixelsImage(répertoireImage, NomImage & ".jpg")
rap = Val(Split(taille, "x")(0)) / Val(Split(taille, "x")(1))
.Image1.Height = 300 ' on fixe la hauteur
.Image1.Width = .Image1.Height * rap
.Height = .Image1.Height + 20
.Width = .Image1.Width
.Image1.Picture = LoadPicture(répertoireImage & "\" & NomImage & ".jpg")
.Show
End With
End If
End If
End Sub
---------------------------------------------------------------------------------------------
Function TaillePixelsImage(repertoire, fichier)
Set myShell = CreateObject("Shell.Application")
Set myFolder = myShell.Namespace(repertoire)
Set myFile = myFolder.Items.Item(fichier)
TaillePixelsImage = myFolder.GetDetailsOf(myFile, 26)
End Function
---------------------------------------------------------------------------
Merci
Cette macro fonctionnait très bien sous excel 2003
depuis le passage en excel 2010 j'ai un message d'erreur sur cette ligne.
----> rap = Val(Split(taille, "x")(0)) / Val(Split(taille, "x")(1))
Quelque 'un a t'il une solution SVP
-------------------------------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell <> "" Then
répertoireImage = "C:\images\" ' à adapter
NomImage = ActiveCell
If Dir(répertoireImage & "\" & NomImage & ".jpg") <> "" Then
With UserForm1
.StartUpPosition = 1
taille = TaillePixelsImage(répertoireImage, NomImage & ".jpg")
rap = Val(Split(taille, "x")(0)) / Val(Split(taille, "x")(1))
.Image1.Height = 300 ' on fixe la hauteur
.Image1.Width = .Image1.Height * rap
.Height = .Image1.Height + 20
.Width = .Image1.Width
.Image1.Picture = LoadPicture(répertoireImage & "\" & NomImage & ".jpg")
.Show
End With
End If
End If
End Sub
---------------------------------------------------------------------------------------------
Function TaillePixelsImage(repertoire, fichier)
Set myShell = CreateObject("Shell.Application")
Set myFolder = myShell.Namespace(repertoire)
Set myFile = myFolder.Items.Item(fichier)
TaillePixelsImage = myFolder.GetDetailsOf(myFile, 26)
End Function
---------------------------------------------------------------------------
Merci