Excel comment insérer une image depuis un lien url (macro)

Résolu/Fermé
hamidmarseille - 1 juin 2016 à 14:43
 hamidmarseille - 2 juin 2016 à 14:21
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 Sub
l

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:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
1 juin 2016 à 16:47
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....
0
hamidmarseille
1 juin 2016 à 16:54
salut michel_m
oui exactement elle sont dans un dossier partagé. donc Apple ça URL mais normalement je dosi dire chemin.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > hamidmarseille
1 juin 2016 à 17:03
un exemple mais sur Windows

http://www.cjoint.com/c/FFbpdii12jt
0
hamidmarseille > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
1 juin 2016 à 17:10
je vien d'essayé mais il me dis comme erreur :

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("")
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > hamidmarseille
2 juin 2016 à 06:55
bonjour,
Comme tu es sur Mac...

ca marche sur Win
0
hamidmarseille > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
2 juin 2016 à 09:24
salut et désolé pour le retard. en fait je suis aussi sous windows. cette érreur que je vien de cité je l'a comprend meme pas. je suis trop nulle en vb va falloir m'aider STP.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
2 juin 2016 à 11:13
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
0
hamidmarseille
2 juin 2016 à 11:34
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
0
hamidmarseille
2 juin 2016 à 12:49
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.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > hamidmarseille
2 juin 2016 à 13:58
et voila,voila....

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)
0
hamidmarseille
2 juin 2016 à 14:21
Ohhhhhhh Merci Merci merci beaucoup tu ma sauvé la vie. il marche super bien. Thanks
0