Macro pour afficher une photo....

[Résolu/Fermé]
Signaler
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017
-
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017
-
bonjour,
je veux qu'on double cliquant sur une cellule une photo sur mon pc s'affiche et en double cliquant a nouveau elle se cache j'ai essayé ce code VBA
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Range("m9").Select

ActiveSheet.Pictures.Insert( _
"C:\Users\ALI SAIDI\Desktop\New folder (3)\la photo.jpg").Select

Cancel = True


End Sub
non seulement ça apparaît des que je clique n'importe ou alors que je veux QUE ça soIt juste sur "m9" et en plus sa se cache pas en double cliquant
je veux affiché une image différente dans chaque ligne de la colonne M
merci beaucoup c'est urgent

7 réponses

Messages postés
7515
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
8 septembre 2021
654
Bonjour,

Voir ici une multitude d'exemples à télecharger:

http://boisgontierjacques.free.fr/pages_site/lesimages.htm
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

merci
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target,Range("M9")) is Nothing then

ActiveSheet.Pictures.Insert( _ 
"C:\Users\ALI SAIDI\Desktop\New folder (3)\la photo.jpg").Select 
Cancel = True 
End If

End Sub


Comme cela seul la cellule M9 ajoutera la photo.

Si tu veux faire plusieur images par ligne, il faut m'indiquer où se trouve le chemin dans l'image qui doit être affichée ? Dans le code ou dans la valeur de la cellule par exemple ?

Pour la supression de l'image je vais faire encore des recherches.

--
  • Vous pouvez mettre en forme votre code grâce à la flèche en haut a droite de l'éditeur de texte.

Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utiles."
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
Voici un exemple de code si le chemin des cellules se trouve dans la valeur de la cellule.

à placer dans le code de la feuille.

Dim picIsDisplay As Boolean

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If picIsDiplay Then ActiveSheet.Pictures.Delete ' Effacera toutes les images de la feuille

If Not Application.Intersect(Target,Range("M:M")) is Nothing the
On Error Goto fin
ActiveSheet.Pictures.Insert(Target.value).Select
picIsDisplay = True
On Error Goto -1
Cancel = True 
End If

Exit sub
fin:
Msgbox "Impossible d'afficher l'image.", vbCritical
Cancel = True
End Sub


Même exemple, mais si le chemin des images est dans le code :

Dim picIsDisplay As Boolean

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If picIsDiplay Then ActiveSheet.Pictures.Delete ' Effacera toutes les images de la feuille

If Not Application.Intersect(Target,Range("M:M")) is Nothing the
On Error Goto fin
Select Case Target.Row
Case 9 'Pour la ligne 9
ActiveSheet.Pictures.Insert("C:\Users\ALI SAIDI\Desktop\New folder (3)\la photo.jpg").Select
Case 10 'Pour la ligne 10
ActiveSheet.Pictures.Insert("C:\Users\ALI SAIDI\Desktop\New folder (3)\la photo2.jpg").Select
Case 11,12 ' Pour la ligne 11 et 12
ActiveSheet.Pictures.Insert("C:\Users\ALI SAIDI\Desktop\New folder (3)\la photo3.jpg").Select
Case 1 To 8 ' Pour la ligne 1 à 8
ActiveSheet.Pictures.Insert("C:\Users\ALI SAIDI\Desktop\New folder (3)\la photo4.jpg").Select
End Select
picIsDisplay = True
On Error Goto -1
Cancel = True 
End If

Exit sub
fin:
Msgbox "Impossible d'afficher l'image.", vbCritical
Cancel = True
End Sub
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

merci je vais vous expliqué mieux
on ma demandé de crée de base de données l'une pour les contactes et l'autres pour les factures. donc deux feuils excel avec un tableau contenant non prénom ......
et numéro facture, fournisseur..... je veux pour les deux tableau mettre une photo scannée du contact et de la facture les photos se situent dans un dossier
mais le boss veux pas voir les photos sauf s'il clique sur la cellule cliqué pour afifiché et cliqué pour disparaître
la je suis coincé
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
C'est fesable si les nom des photos qui contienne le contact des clients est toujours le même. Par exemple, le n° de client.jpg et que pour la factures ça soit toujours le n° de facture.jpg.

Si elles sont stocker dans un dossier "\Images\Clients\" et "\Images\Factures" là c'est très simple.

Suffis que lorsque on clique sur la cellule, ça aille chercher le numéro de facture par exemple dans la colonne A, puis, le programme ira chercehr l'image sous "\Images\Factures\" & NoFacutre & ".jpg".

D'alleur au lieu d'afficher l'image sur la feuille excel, tu peux faire apparaitre une fenêtre (Userform) avec l'image dedans.

Ce n'est pas super compliquer, mais ce n'est pas super génial non plus. Car ça veux dire que chaque facture doit avoir une image, et que chaque client aussi, si non cela génèrera une erreure qu'il faudra gérer.
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

Oui chaque contact a une image et de meme pour les facture
Mais les fichiers contact et facture sont separes j ai cree deux fichier excel separes
Vous pouvez me montrer comment faire svp je dois finir ca ce soir et je debute avec vba
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

svp je suis vraiment coincé je suis entrein de faire une formation en vba mais j'avance pas trop et vous connaissais les patrons ils pense que 2 heures de cours suffisent....
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

personne??
Messages postés
7515
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
8 septembre 2021
654
Tu n'as pas trouvé ton bonheur sur le site que je t'ai indiqué?
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

Non non du moins pas encore
Messages postés
7515
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
8 septembre 2021
654
Regarde dans :

Choix de plusieurs images externes

Tu as 2 fichiers à télécharger.

Tu choisis celui qui correspond le plus à tes besoins. Ensuite sur cette base, si tu as des problèmes on peut t'aider.

On ne peut pas choisir à ta place!
Messages postés
7515
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
8 septembre 2021
654
Il y a aussi:

Import d'images d'un répertoire

Celui là est très intéressant!
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

dans tous ses fichier les image sont apparente moi je veux qu'elles soient caché . et s'affiche avec un double clique
Messages postés
7515
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
8 septembre 2021
654
Voilà un exemple, il suffit de mettre les images dans le dossier image et de mettre le nom de ces images dans la colonne A:

http://www.cjoint.com/c/EGDf5guXOXQ
Messages postés
47
Date d'inscription
lundi 23 mars 2015
Statut
Membre
Dernière intervention
12 mars 2017

merci beacoup