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
A voir également:
- Excel afficher image lien hypertexte
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Verificateur de lien - Guide
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....
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
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
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
et voila,voila....
modif du code en gras
d'ailleurs, je vais garder cette option plutôt que la msgbox :o)
modif du code en gras
Option 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)
oui exactement elle sont dans un dossier partagé. donc Apple ça URL mais normalement je dosi dire chemin.
http://www.cjoint.com/c/FFbpdii12jt
propriété ou méthode non gérée par cet objet
et l’erreur c'est au niveau du :
Sheets(1).Cellule.Picture = LoadPicture("")
Comme tu es sur Mac...
ca marche sur Win