Bonjour à vous,
j'ai un petit soucis concernant un fichier excel de que construit!(sniff)
je voudrais simplement que par vba les chemins d'acces de mes images (type :
c:mes doc....) rempli dans la colonne Y (nb de ligne variables),excel m'ouvre
ces photos en colonne Z
merci pour votre aide!!
Greg
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Greg67,
Copie ce qui suit dans un module standard en adaptant le nom de la feuille et de la plage de cellules le cas échéant.
'----------------------------- Sub TestMonImage()
Dim Rg As Range With Worksheets("Feuil1") Set Rg = .Range("Y1:Y" & .Range("Y65536").End(xlUp).Row) End With
For Each c In Rg If c <> "" Then If Dir(c) <> "" Then InsérerImage "Feuil2", c.Offset(, 1), c.Value Else c.Offset(, 1) = "Fichier photo non trouvé." End If End If Next Set Rg = Nothing End Sub '----------------------------- Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille) Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top Set Image = .Pictures.Insert(NomImage) End With With Image .Left = Rg.Left .Top = Rg.Top 'Largeur de l'image Image.Width = Largeur 'Hauteur de l'image Image.Height = Hauteur 'Est-ce que l'image doit se déplacer avec les cellules 'voici les 3 constantes possibles .Placement = xlFreeFloating 'or xlmove or xlMoveAndSize 'Verrouillé ou pas .Locked = True 'or False End With Set Rg = Nothing
End Sub '-----------------------------
Salutations!
"greg67" a écrit dans le message de news: Bonjour à vous, j'ai un petit soucis concernant un fichier excel de que construit!(sniff) je voudrais simplement que par vba les chemins d'acces de mes images (type : c:mes doc....) rempli dans la colonne Y (nb de ligne variables),excel m'ouvre ces photos en colonne Z merci pour votre aide!! Greg
Bonjour Greg67,
Copie ce qui suit dans un module standard
en adaptant le nom de la feuille et de la plage
de cellules le cas échéant.
'-----------------------------
Sub TestMonImage()
Dim Rg As Range
With Worksheets("Feuil1")
Set Rg = .Range("Y1:Y" & .Range("Y65536").End(xlUp).Row)
End With
For Each c In Rg
If c <> "" Then
If Dir(c) <> "" Then
InsérerImage "Feuil2", c.Offset(, 1), c.Value
Else
c.Offset(, 1) = "Fichier photo non trouvé."
End If
End If
Next
Set Rg = Nothing
End Sub
'-----------------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlFreeFloating 'or xlmove or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'-----------------------------
Salutations!
"greg67" <greg67@discussions.microsoft.com> a écrit dans le message de news: FF6C32E3-6700-4D03-940B-0595D83539D5@microsoft.com...
Bonjour à vous,
j'ai un petit soucis concernant un fichier excel de que construit!(sniff)
je voudrais simplement que par vba les chemins d'acces de mes images (type :
c:mes doc....) rempli dans la colonne Y (nb de ligne variables),excel m'ouvre
ces photos en colonne Z
merci pour votre aide!!
Greg
Copie ce qui suit dans un module standard en adaptant le nom de la feuille et de la plage de cellules le cas échéant.
'----------------------------- Sub TestMonImage()
Dim Rg As Range With Worksheets("Feuil1") Set Rg = .Range("Y1:Y" & .Range("Y65536").End(xlUp).Row) End With
For Each c In Rg If c <> "" Then If Dir(c) <> "" Then InsérerImage "Feuil2", c.Offset(, 1), c.Value Else c.Offset(, 1) = "Fichier photo non trouvé." End If End If Next Set Rg = Nothing End Sub '----------------------------- Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille) Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top Set Image = .Pictures.Insert(NomImage) End With With Image .Left = Rg.Left .Top = Rg.Top 'Largeur de l'image Image.Width = Largeur 'Hauteur de l'image Image.Height = Hauteur 'Est-ce que l'image doit se déplacer avec les cellules 'voici les 3 constantes possibles .Placement = xlFreeFloating 'or xlmove or xlMoveAndSize 'Verrouillé ou pas .Locked = True 'or False End With Set Rg = Nothing
End Sub '-----------------------------
Salutations!
"greg67" a écrit dans le message de news: Bonjour à vous, j'ai un petit soucis concernant un fichier excel de que construit!(sniff) je voudrais simplement que par vba les chemins d'acces de mes images (type : c:mes doc....) rempli dans la colonne Y (nb de ligne variables),excel m'ouvre ces photos en colonne Z merci pour votre aide!! Greg
JB
Bonjour,
On suppose que les noms des images sont en colonne A à partir de A2. On veut importer en colonne B.
Range("b2").Select Do While ActiveCell.Offset(0, -1) <> "" nf = ActiveCell.Offset(0, -1) ' & ".jpg" If Dir(nf) <> "" Then Set monimage = ActiveSheet.Pictures.Insert(nf) ActiveCell.EntireRow.RowHeight = monimage.Height End If ActiveCell.Offset(1, 0).Select Loop
Cordialement JB
Bonjour,
On suppose que les noms des images sont en colonne A à partir de A2.
On veut importer en colonne B.
Range("b2").Select
Do While ActiveCell.Offset(0, -1) <> ""
nf = ActiveCell.Offset(0, -1) ' & ".jpg"
If Dir(nf) <> "" Then
Set monimage = ActiveSheet.Pictures.Insert(nf)
ActiveCell.EntireRow.RowHeight = monimage.Height
End If
ActiveCell.Offset(1, 0).Select
Loop
On suppose que les noms des images sont en colonne A à partir de A2. On veut importer en colonne B.
Range("b2").Select Do While ActiveCell.Offset(0, -1) <> "" nf = ActiveCell.Offset(0, -1) ' & ".jpg" If Dir(nf) <> "" Then Set monimage = ActiveSheet.Pictures.Insert(nf) ActiveCell.EntireRow.RowHeight = monimage.Height End If ActiveCell.Offset(1, 0).Select Loop