Macro pour afficher une photo....

Résolu
icephenix Messages postés 60 Statut Membre -  
icephenix Messages postés 60 Statut Membre -
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

  1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
     
    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."
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      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
      
      0
    2. icephenix Messages postés 60 Statut Membre
       
      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é
      0
    3. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      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.
      0
    4. icephenix Messages postés 60 Statut Membre
       
      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
      0
    5. icephenix Messages postés 60 Statut Membre
       
      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....
      0
  2. icephenix Messages postés 60 Statut Membre
     
    personne??
    0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Tu n'as pas trouvé ton bonheur sur le site que je t'ai indiqué?
    0
    1. icephenix Messages postés 60 Statut Membre
       
      Non non du moins pas encore
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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!
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Il y a aussi:

      Import d'images d'un répertoire

      Celui là est très intéressant!
      0
  6. icephenix Messages postés 60 Statut Membre
     
    dans tous ses fichier les image sont apparente moi je veux qu'elles soient caché . et s'affiche avec un double clique
    0
  7. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    0
    1. icephenix Messages postés 60 Statut Membre
       
      merci beacoup
      0