Insérer une image dans une cellule

Résolu
Bonjour,

Voilà je ne m'y connais pas trop et je souhaiterais par une macro qu'une image disparaisse ou aparaisse lorsqu'on click sur la cellule. Pouvez-vous me donner un exemple concret sur un fichier excel? :-)
Configuration: Windows Vista Internet Explorer 7.0

1 réponse

  1. tu peut le faire avec les commantaire
    1- tu choisie une cellule

    2- selectionne l'image > copy , selection la cellule
    3- menu insertion > commantaire > tu colle l'image dessus

    si ca marche tu vote sur sur le message
    0
    1. En fait c'est gentil d'avoir répondu rapidement mais ce n'est pas ce que je voulais. J'aurais souhaité que lorsque j'appuis sur la cellule A1 par exemple l'image apparaisse et que lorsque j'appuie à nouveau dessus elle disparaisse! :-( Sais-tu comment faire ? Je sais qu'il faut utiliser une macro mais j'aurais voulu avoir un modèle sur excel.
      0
    2. Contributeur
      @Bonjour!Bonjour Bonjour,

      Dansla m^me cellule c'est difficile car l'image occupera toute la cellule lorsque elle sera chargée et donc, tu cliqueras sur l'image et non sur la cellule.
      Si ta cellule de commande est en A3, l'image apparaissant en B3:
      macro à copier-coller dans le module feuille concerné (clic droit sur nom d'onglet-visualiser le code)
      tu peux insérer tout type de format: gif, bmp, jpeg...
      la macro se déclenche quand tu cliques sur A3... il faut recliquer avant de fermer

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Static flag As Boolean
      Dim Image As Picture
      Dim design As String
      If flag = False Then
          If Intersect(Target, Range("A3")) Is Nothing Then: Exit Sub
          design = ThisWorkbook.Path & "\aubenas.jpg"
          Set Image = ActiveSheet.Pictures.Insert(design)
          Range("B3").Select
          With Image.ShapeRange
              .Name = "cartepost"
               .Height = Range("B3").Height
              .Width = Range("B3").Width
              .LockAspectRatio = msoFalse
          End With
          flag = True
          Range("A3") = "cacher"
      Else
          ActiveSheet.Shapes("cartepost").Delete
          flag = False
          Range("A3") = "montrer"
      End If
      End Sub


      p'tite démo
      https://www.cjoint.com/?fmtbiTSlAG

      Bonsoir cher Bonjour (ben oui, j'allais la louper!)
      0
    3. @michel_mSalut!

      Super c'est exactement ce que je voulais! Merci infiniment!

      PS: Oui, la perche était trop grande :-) ;-)
      0