Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recherche macro

3 réponses
Avatar
palmieri.jose
Bonjour,

Je recherche une macro pour afficher le contenu d'une cellule (par
exemple un en-tete) lorsque l'on passe la souris sur d'autres
cellules, un peu comme le font les commentaires inser=E9s dans une
feuille.

En clair je passe la souris sur la cellule BZ450 et s'affiche la
valeur de la cellule A450

Merci

3 réponses

Avatar
Trirème
Bonjour,

Je n'ai pas de réponse à ta question.
Par contre, si tu avais demandé : "Comment toujours visualiser la ligne d'en-tête
lorsqu'on est en bas d'une grande feuille ?"
J'aurais répondu "en figeant les volets : Fenêtre, Figer les volets".
Les limites sont fixées au-dessus et à gauche de la cellule active.
Mais peut être connaissais tu cette option ?

Cordialement,
Trirème

Bonjour,

Je recherche une macro pour afficher le contenu d'une cellule (par
exemple un en-tete) lorsque l'on passe la souris sur d'autres
cellules, un peu comme le font les commentaires inserés dans une
feuille.

En clair je passe la souris sur la cellule BZ450 et s'affiche la
valeur de la cellule A450

Merci



Avatar
LSteph
Bonjour,

Il n'y a pas mouseover dans la feuille
mais on peut envisager cela en parcourant les cellules
supposons un mode srutatif et un mode normal
Pour basculer de l'un à l'autre on utilisera le doubleclic dans la
feuille (le mode apparait dans la barre d'état)
ensuite par sélection de cellule le commentaire affichera les titres.


'*****dans Module1***
Public lastcell As String
Public lastcomment As String
Public modeScrute As Boolean

'*****dans code Feuil1***
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
modeScrute = Not modeScrute
If modeScrute Then
Application.StatusBar = "Mode scrutatif"
Else
If Len(lastcell) > 0 And Len(lastcomment) > 0 Then
Cells(lastcell).Comment lastcomment
Else
If Len(lastcell) > 0 Then
Range(lastcell).Comment.Delete
End If
End If
lastcell = ""
lastcomment = ""
Application.StatusBar = False
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not modeScrute Then Exit Sub
If Len(lastcell) > 0 And Len(lastcomment) > 0 Then
Range(lastcell).Comment.Delete
Range(lastcell).AddComment lastcomment
Else
If Len(lastcell) > 0 Then
Range(lastcell).Comment.Delete
End If
End If
lastcell = ""
lastcomment = ""
With ActiveCell
On Error Resume Next
lastcomment = .Comment.Text
.Comment.Delete
On Error GoTo 0
.AddComment " " & Cells(1, .Column) & vbCrLf & Cells(.Row, 1)
lastcell = .Address
End With
End Sub

'Cdlt

'lSteph
Avatar
palmieri.jose
Merci de vos réponses.

Entre temps la solution m'avais eté pasée et se raprochait de celle de
LSteph, car elle utilise aussi la barre de statut :

Dans le code de la feuille :
========================= =======================
Private Sub Worksheet_Activate()

If Not Application.Intersect(ActiveCell, Range("D6:GI827")) Is Nothing
Then

Maligne = ActiveCell.Row
Application.StatusBar = "Définition : " & Range("C" & Maligne).Value
Else
Application.StatusBar = False
End If
End Sub
========================= ========================= ==
Private Sub Worksheet_Deactivate()
Application.StatusBar = False
End Sub

========================= ========================= =======
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Maligne As Variant

If Not Application.Intersect(Target, Range("D6:GI827")) Is Nothing
Then

Maligne = ActiveCell.Row
Application.StatusBar = "Définition : " & Range("C" & Maligne).Value
Else
Application.StatusBar = False
End If

End Sub
========================= ========================= ========


A +
:-)