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
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
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
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
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
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
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" <boisgontier@hotmail.com> a écrit dans le message de
news:1137907861.639288.31830@g49g2000cwa.googlegroups.com...
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
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
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
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
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