Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Import d'images depuis un répertoire

3 réponses
Avatar
Noegor
Bonjour,
Souhaitant insérer des images ou des photos sur une feuille Excel, j'ai
téléchargé le dossier 1715 jb-Photos qui de façon très claire m'apporte les
différentes façons de manipuler les images. Lorsque je recopie le code de la
feuille "import", je bute sur " monimage" qui semble n'être définie nulle
part! et pourtant ça marche pour JB mais pas pour moi...Qui peut
m'expliquer?
Merci d'avance de votre aide.
Noégor

3 réponses

Avatar
JB
Bonjour,

PJ http://cjoint.com/?bwgBJotaxC

Avec Copier/Coller dans un classeur vierge, cela fonctionne (Excel
2002)

Sub ImportImages()
ChDir ActiveWorkbook.Path
nf = Dir("*.jpg") ' premier fichier
Range("b2").Select
Do While nf <> ""
Set monimage = ActiveSheet.Pictures.Insert(nf)
monimage.Name = Left(nf, Len(nf) - 4) ' Donne un nom à l'image
monimage.Placement = xlFreeFloating
monimage.Locked = True
ActiveCell.Offset(0, -1) = Application.Proper(Left(nf, Len(nf) -
4))
ActiveCell.EntireRow.RowHeight = monimage.Height
nf = Dir ' suivant
ActiveCell.Offset(1, 0).Select
Loop
End Sub


Cordialement JB
Avatar
Noegor
Bonjour JB
Merci pour une réponse aussi rapide.
Je viens d'ouvrir un nouveau classeur et j'ai copié/collé le code dans un
module.
A la compile ( je suis en mode explicit) nf est en erreur car non défini. Je
l'ai défini As String. Puis à son tour "monimage" est en erreur car non
défini...
Je ne comprends pas. Il y a un truc...
Merci
Noégor
"JB" a écrit dans le message de
news:
Bonjour,

PJ http://cjoint.com/?bwgBJotaxC

Avec Copier/Coller dans un classeur vierge, cela fonctionne (Excel
2002)

Sub ImportImages()
ChDir ActiveWorkbook.Path
nf = Dir("*.jpg") ' premier fichier
Range("b2").Select
Do While nf <> ""
Set monimage = ActiveSheet.Pictures.Insert(nf)
monimage.Name = Left(nf, Len(nf) - 4) ' Donne un nom à l'image
monimage.Placement = xlFreeFloating
monimage.Locked = True
ActiveCell.Offset(0, -1) = Application.Proper(Left(nf, Len(nf) -
4))
ActiveCell.EntireRow.RowHeight = monimage.Height
nf = Dir ' suivant
ActiveCell.Offset(1, 0).Select
Loop
End Sub


Cordialement JB
Avatar
JB
Bonjour

http://cjoint.com/?bwrWFP6xRJ


Option Explicit
Dim nf As String, monimage As Object
Sub ImportImages()
ChDir ActiveWorkbook.Path
nf = Dir("*.jpg") ' premier fichier
Range("b2").Select
Do While nf <> ""
Set monimage = ActiveSheet.Pictures.Insert(nf)
monimage.Name = Left(nf, Len(nf) - 4) ' Donne un nom à l'image
monimage.Placement = xlFreeFloating
monimage.Locked = True
ActiveCell.Offset(0, -1) = Application.Proper(Left(nf, Len(nf) -
4))
ActiveCell.EntireRow.RowHeight = monimage.Height
nf = Dir ' suivant
ActiveCell.Offset(1, 0).Select
Loop
End Sub

JB