Image sur une cellule sans être obligé de cliquer dessus

Résolu/Fermé
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 21 oct. 2015 à 09:32
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 21 oct. 2015 à 16:04
Bonjour,

Je vous explique un peu le problème. J'ai un code VBA sur lequel j'ai déjà passé plusieurs jours qui me fabrique des lignes excel en fonction de réponses à un UserForm.

Je souhaiterais que ce code ajoute également en fin de ligne une image sur la dernière cellule, une croix de suppression de la ligne en fait. Ce serait une image pour avoir quelque chose de plus joli.

Problème : Ajouter l'image ne me fait pas peur. Mais lorsque je l'ajoute, elle prend le pas sur la cellule. Ce qui fait que si je veux faire un code pour que quand je clique sur la cellule, la ligne se supprime, ça ne peut pas marcher puisque si je clique sur la cellule, je clique en fait sur l'image.

Pourquoi ne pas affecter un code à l'image directement me direz-vous? Et bien en fait, si je fais cela, il faut qu'un bouton image avec un nouveau code à chaque fois se créé sur ma feuille à chaque ajout d'une ligne. Et je ne veux pas. Cela rendrait mon fichier beaucoup trop lourd.

Auriez-vous une solution?

Merci d'avance.

Cordialement.
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié par pijaku le 21/10/2015 à 11:12
Bonjour,

Ajouter une image + un code n'alourdirait pas "beaucoup" plus le fichier que le simple ajout d'une image.
C'est une erreur de vouloir ajouter une image. Surtout pour une croix de suppression de ligne.
Le plus simple est de reproduire l'impression d'une croix de fermeture par une simple macro qui ajoute du texte (un X en m'occurence) et le met un peu en forme.
Regarde ceci :
    With ActiveCell
      .Value = "X"
      .Font.Color = -16776961
      .Font.Bold = True
      .Font.Size = 14
      .Interior.ThemeColor = xlThemeColorDark1
      .Interior.TintAndShade = -0.249977111117893
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlCenter
      .ColumnWidth = 2.71
   End With


Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 21/10/2015 à 10:38
C'est ce que j'ai fait avant ta réponse en fait et ça rend plutôt pas mal. Bon mise à part qu'on a quand même plus l'impression quand on supprime de sélectionner une cellule que de procéder réellement à une suppression. Le fait d'avoir une main avec le doigt montre qu'il y a vraiment une action à réaliser. J'aime bien mais on ne peut pas tout avoir :(

Merci pour ta réponse en tout cas, je vais la tester pour voir ce que tu m'a concocté :)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019
21 oct. 2015 à 11:12
Tu veux que la souris se transforme en "main avec le doigt qui montre"?
Rien de plus aisé :
With ActiveCell
       ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=ActiveSheet.Name & "!" & .Address, TextToDisplay:="X"
       .Font.Color = -16776961
       .Font.Bold = True
       .Font.Size = 14
       .Interior.ThemeColor = xlThemeColorDark1
      .Interior.TintAndShade = -0.249977111117893
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlCenter
       .ColumnWidth = 2.71
End With
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
21 oct. 2015 à 14:11
Le code a l'air sympa mais je n'arrive pas à l'adapter. Pardon pour mon ignorance. Je débute -_-

J'ai écrit le code suivant :

With Sheets("Voyages XXX").Cells(DL + 1, 15)
Sheets("Voyages XXX").Hyperlinks.Add Anchor:=Sheets("XXX").Cells(DL + 1, 15), Address:="", SubAddress:=Sheets("Voyages XXX").Name & "!" & .Address, TextToDisplay:="X"
    .Cells(DL + 1, 15).Font.Color = RGB(161, 20, 20)
    .Cells(DL + 1, 15).Font.Name = "MV Boli"
    .Cells(DL + 1, 15).HorizontalAlignment = xlCenter
    .Cells(DL + 1, 15).Font.Bold = True
    .Cells(DL + 1, 15).Font.Size = 14
End With


Il ne marche pas, je pense que j'ai mal adapté. Petit coup de pouce? :)

Merci d'avance.

Cordialement.
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
21 oct. 2015 à 14:20
Ca plante ici :

 .Cells(DL + 1, 15).Font.Name = "MV Boli"


Impossible de définir la propriété Name de classe Font.
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 21/10/2015 à 14:30
Je réécris le code, je me suis trompé dans le premier :

With Sheets("Voyages XXX").Cells(DL + 1, 15)
Sheets("Voyages XXX").Hyperlinks.Add Anchor:=Cells(DL + 1, 15), Address:="", SubAddress:=Sheets("Voyages XXX").Name & "!" & .Address, TextToDisplay:="X"
    .Font.Color = RGB(161, 20, 20)
    .Font.Name = "MV Boli"
    .HorizontalAlignment = xlCenter
    .Font.Underline = False
    .Font.Bold = True
    .Font.Size = 14
End With


Mais j'ai le même problème sur la même ligne.
0