XL 2010 Affiche le texte d'une cellule en cliquant sur une image

Orson83

XLDnaute Impliqué
Bonjour la communauté,
Je cherche à afficher une information sous forme de texte qui se trouve dans des cellules fusionnées.
Pour cela, j'aimerai que l'utilisateur puisse l'afficher en cliquant sur l'image "Information".
Dès lors que l'on sortira de ces cellules fusionnées, le texte disparaîtra.
Merci pour votre aide. Je dépose mon fichier exemple dans ce post.
Tchotchodu31
 

Pièces jointes

  • Image-affiche-texte-V1.xlsm
    45.3 KB · Affichages: 24

fanch55

XLDnaute Barbatruc
Bonjour à tous,
Comme la demande semble stricte, voici la réponse stricte.
Code à mettre dans le code de la feuille :
VB:
Sub Show_Cell()
    [E4] = "Texte à afficher si je clique sur l'image. Ce texte disparait quand je clique dans une cellule autre que E4:I6." & vbLf & _
            "PS : les cellules E4:I6 sont fusionnées par obligation."
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, [E4]) Is Nothing Then [E4] = vbNullString
End Sub

Affecter la Macro Show_cell à l'image "Image 1" .
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Tchotchodu31, @sylvanu :)

Et ceci vous convient-il ?

Code dans le module de Feuil1:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Not Target.Address = Range("e4").MergeArea.Address Then Range("e4").NumberFormat = ";;;"
End Sub

Sub affiche()
   ' macro Affiche à affecter à l'image via le clique-droit sur l'image
   Range("e4").NumberFormat = "General"
End Sub

edit : bonjour @fanch55 :)
 

Pièces jointes

  • Tchotchodu31-Image-affiche-texte- v1.xlsm
    51 KB · Affichages: 10
Dernière édition:

Orson83

XLDnaute Impliqué
Bonjour à tous,
Comme la demande semble stricte, voici la réponse stricte.
Code à mettre dans le code de la feuille :
VB:
Sub Show_Cell()
    [E4] = "Texte à afficher si je clique sur l'image. Ce texte disparait quand je clique dans une cellule autre que E4:I6." & vbLf & _
            "PS : les cellules E4:I6 sont fusionnées par obligation."
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, [E4]) Is Nothing Then [E4] = vbNullString
End Sub

Affecter la Macro Show_cell à l'image "Image 1" .

Bonjour fanch55,
Merci pour cette proposition.
Cette solution est bonne mais elle m'oblige à insérer mon texte dans le code VBA.
J'aurai préféré que le texte soit intégré dans les cellules fusionnées pour plus de facilité.
François
 

Orson83

XLDnaute Impliqué
Nonjour @Tchotchodu31, @sylvanu :)

Et ceci vous convient-il ?

Code dans le module de Feuil1:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Not Target.Address = Range("e4").MergeArea.Address Then Range("e4").NumberFormat = ";;;"
End Sub

Sub affiche()
   ' macro Affiche à affecter à l'image via le clique-droit sur l'image
   Range("e4").NumberFormat = "General"
End Sub

edit : bonjour @fanch55 :)

Bonsoir mapomme,
Merci de t'être penché sur ma demande.
Je suis ennuyé car cela fonctionne correctement avec ton fichier mais pas dans le mien.
J'ai pourtant tout essayé, renommer le fichier et l'onglet, changer les ("e4") par des ("E4"), ("$E$4"), modifier et changer d'image, inséré le code dans la feuil ou dans un module, ect.
Peut-être que le problème viendrait de la cible du style : sheets("Feuil1").Range("E4") ??
François
 

Discussions similaires

Statistiques des forums

Discussions
312 108
Messages
2 085 369
Membres
102 875
dernier inscrit
Jimbo2374