Remplacer un code dans une cellule par une image

merci-de-maider Messages postés 3 Statut Membre -  
merci-de-maider Messages postés 3 Statut Membre -
Bonjour,

Pour un planning mensuel je souhaite remplacer un code par une image dans les cases journalières lors d'absences.

Les images seront différentes selon le type d'absence (vacances, service militaire, cours etc. )

Comment peut-on attribuer une image à une cellule en fonction de son contenu ?

Si quelqu'un connait je suis preneuse, merci beaucoup,

5 réponses

  1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
     
    Avec une macro c'est faisable.

    Mais pourquoi pas simplement utiliser des abréviation ou des petits symboles (??????*????????????¶§?????????... ?)

    EDIT

    haha fail les symboles ne marchent pas sur CCM...

    pour voir les ????? faite la manipulation suivante dans la zone de texte :

    [ALT]+[Pav. Num. 1]
    [ALT]+[Pav. Num. 2]
    [ALT]+[Pav. Num. 3]
    [ALT]+[Pav. Num. 4]
    etc.
    0
  2. merci-de-maider Messages postés 3 Statut Membre
     
    Merci skk201 pour votre réponse.

    J'ai essayé de créer une macro, mais ça va pas chercher la bonne image.
    Et les symboles, c'est moins joli, c'est ce type d'images que j'utilise :


    Le fichier planning lui se présente ainsi


    Ce serait plus rapide de pouvoir insérer un code (style vac, cp cp, milit, etc) et que l'image vienne se mettre en place, mais si c'est pas possible d'automatiser, je continuerai les copier-coller !

    Encore merci pour votre aide,
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Oui c'est possible.

      Regarde si la solution de ccm81 te conviens.

      Si c'est pas le cas on trouvera une autre manière :)

      C'est possible à faire avec une macro dans ce genre :

       Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Value = "ZEB" Then
      Target.Select
      ActiveSheet.Pictures.Insert("C:\Users\samcru\Pictures\zebre.jpg").Select
      Selection.ShapeRange.ScaleWidth 0.512434896, msoFalse, msoScaleFromTopLeft
      Selection.ShapeRange.ScaleHeight 0.512436687, msoFalse, msoScaleFromTopLeft
      Target = ""
      End If
      End Sub
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Salut skk201
      Regarde si la solution de ccm81 te conviens.
      Rendons à César ce qui est à César, ce n'est pas de moi

      Cdlmnt
      0
    3. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      @ccm81
      C'est la solution de César :) ?

      Par la j'entendais la solution que tu avais trouvé, bien entendu.
      0
  3. WeaponEDGE Messages postés 114 Statut Membre 9
     
    Bonjour,

    Le problème en insérant des images c'est que ton fichier Excel va peser très lourd à la fin.
    Je te conseille d'utiliser les conseil de skk201 en utilisant des abréviation, Symbole, Code couleur
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Il y a un moyen de faire qui ne charge pas le classeur, mais prend un petit temps de chargement de la page.

      Une macro qui ajoute les images par dessus les codes à l'activation de la page (ou sur pression d'un bouton)

      Et une autre qui efface les image à la désactivation de la page. (ou sur pression d'un bouton).

      Mais c'est sûr, personnellement ça pose que des problèmes si les sources d'images changent, il faut adapter le code à la taille de l'image, etc ( A moins d'avoir formater les images avant)

      Bien joué pour l'idée des couleurs, parfois c'est encore plus simple que ce qu'on pourrait penser.
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. merci-de-maider Messages postés 3 Statut Membre
     
    Merci à tous pour vos réponses rapides,

    Je vais essayer vos solutions, et je vous redis si ça fonctionne. Bien sûr la mise en forme conditionnelle serait le moyen le plus simple, mais c'est moins parlant !

    Bon weekend
    0