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

Résolu
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -  
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Modérateur Dernière intervention   2 761
 
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 852 Date d'inscription   Statut Membre Dernière intervention   61
 
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   Statut Modérateur Dernière intervention   2 761 > Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention  
 
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 852 Date d'inscription   Statut Membre Dernière intervention   61
 
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 852 Date d'inscription   Statut Membre Dernière intervention   61
 
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 852 Date d'inscription   Statut Membre Dernière intervention   61
 
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