Excel comment insérer une image depuis un lien url (macro)
Résolu
hamidmarseille
-
hamidmarseille -
hamidmarseille -
bonjour, SVP j'ai besoin d'aide
sur excel o j'affiche des photo dans des cellule qui sont stocké dans un dossier donc j'utilise le chemin pour les afficher avec cette macro suivante:
ce que je veux avoir c'est c'est d'affichier la photo si elle existe si non afficher "image non dispo"
---------------------------------------------------------------------------
Function sNomFichier(NomFichier As String) As Boolean
If InStr(NomFichier, "png") > 0 Then
sNomFichier = True
ElseIf InStr(NomFichier, "jpg") > 0 Then
sNomFichier = True
ElseIf InStr(NomFichier, "jpeg") > 0 Then
sNomFichier = True
ElseIf InStr(NomFichier, "bmp") > 0 Then
sNomFichier = True
Else
sNomFichier = False
End If
End Function
Sub image2()
For Each cel In Selection
cel.Offset(0, 2).Select
cel.Offset(0, 2).RowHeight = 100
cel.Offset(0, 2).ColumnWidth = 40
Dim sNomFichier As String
sNomFichier = "M:\CELLULE ETUDES\Temporaire\Pdv code Adh"
If ExistenceFichier(sNomFichier) Then
cel.Offset(0, 2).Value = "image non dispo"
Else
Set image = ActiveSheet.Pictures.Insert(Cells(3, 1).Value)
With image
.ShapeRange.LockAspectRatio = msoTrue
.Width = cel.Offset(0, 2).Width
.Height = cel.Offset(0, 2).Height
.Left = cel.Offset(0, 2).Left
.Top = cel.Offset(0, 2).Top
End With
End If
Next cel
End Subl
End Sub
---------------------------------------------------------------------
le problème est que si la photo existe dans le dossier le code passe directement vers la commande SET image =
si la photo existe pas le code ne vérifie pas la commande cel.offset(0, 2).value = "non disponible" donc il passe directement vers set image et il m'affiche une erreur.
alors svp aidez moi a résoudre ce blem je suis vraiment dans la merde. Merci d'avance
sur excel o j'affiche des photo dans des cellule qui sont stocké dans un dossier donc j'utilise le chemin pour les afficher avec cette macro suivante:
ce que je veux avoir c'est c'est d'affichier la photo si elle existe si non afficher "image non dispo"
---------------------------------------------------------------------------
Function sNomFichier(NomFichier As String) As Boolean
If InStr(NomFichier, "png") > 0 Then
sNomFichier = True
ElseIf InStr(NomFichier, "jpg") > 0 Then
sNomFichier = True
ElseIf InStr(NomFichier, "jpeg") > 0 Then
sNomFichier = True
ElseIf InStr(NomFichier, "bmp") > 0 Then
sNomFichier = True
Else
sNomFichier = False
End If
End Function
Sub image2()
For Each cel In Selection
cel.Offset(0, 2).Select
cel.Offset(0, 2).RowHeight = 100
cel.Offset(0, 2).ColumnWidth = 40
Dim sNomFichier As String
sNomFichier = "M:\CELLULE ETUDES\Temporaire\Pdv code Adh"
If ExistenceFichier(sNomFichier) Then
cel.Offset(0, 2).Value = "image non dispo"
Else
Set image = ActiveSheet.Pictures.Insert(Cells(3, 1).Value)
With image
.ShapeRange.LockAspectRatio = msoTrue
.Width = cel.Offset(0, 2).Width
.Height = cel.Offset(0, 2).Height
.Left = cel.Offset(0, 2).Left
.Top = cel.Offset(0, 2).Top
End With
End If
Next cel
End Subl
End Sub
---------------------------------------------------------------------
le problème est que si la photo existe dans le dossier le code passe directement vers la commande SET image =
si la photo existe pas le code ne vérifie pas la commande cel.offset(0, 2).value = "non disponible" donc il passe directement vers set image et il m'affiche une erreur.
alors svp aidez moi a résoudre ce blem je suis vraiment dans la merde. Merci d'avance
2 réponses
-
Bonjour
tu parles d'URL ?
d'après ton code les photos ne sont pas sur le Web mais dans un de tes dossiers....
dans l'attente....
-
un nouvel envoi avec "enlever les photos" et un inconnu à la fin
http://www.cjoint.com/c/FFcjkWdlzRt
important:
il faut extraire le zip et non l'ouvrir
-
oh super franchement je te remercie beaucoup.
une dernière question !! le chemin ou se trouve mes photos est comme ca:
M:\CELLULE ETUDES\Temporaire\Pdv code Adh
et moi j'aurais dans la colone A 2 lien comme ça:
M:\CELLULE ETUDES\Temporaire\Pdv code Adh\.007601.jpg
M:\CELLULE ETUDES\Temporaire\Pdv code Adh\.002301.jpg
et dans la colone C il m'affiche les photos
alors eceque je peux remplacer ton chemin par mon chemin comme suit ?
M:\CELLULE ETUDES\Temporaire\Pdv code Adh -
enfin ton code marche super bine laisse tombé ma première question. maintenant ce que je cherche c'est quand le photo n'existe pas dans mon dossier je veux qu'il met "photo non dispo" a la place de la photo elle même. merci beaucoup pour ton aide.
- et voila,voila....
modif du code en grasOption Explicit
'--------------------------------------
Sub incorporer_image()
Dim Derlig As Integer, Design As String, Cptr As Integer, Chemin As String
Dim Fichier As String, Image As Picture, Cellule As Range, Rapport As Byte, Numero As Integer
'initialisations
Derlig = Columns("A").Find("*", , , , , xlPrevious).Row
Application.ScreenUpdating = False
'parcours la liste
'.... RIEN DE CHANGE
Set Cellule = Cells(Cptr, "D")
'.... RIEN DE CHANGE
Name = "numphoto" & Numero
End With
Numero = Numero + 1
suite: Next
Exit Sub
inconnu:
Cells(Cptr, "D") = "photo non dispo"
GoTo suite
End Sub
d'ailleurs, je vais garder cette option plutôt que la msgbox :o)
-
-