Domanda Come visualizzare un tooltip descrittivo al passaggio del mouse su un'immagine

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
79.022
8.683
2.445
73
Napoli
Office 365
io vorrei che se si passa sul pulsante stampa compaia una scritta o pop-up con descrizione, in questo caso sarebbe stampa file excel.
Purtroppo con controlli ActiveX messi sul foglio (al contrario di quanto accade per i controlli messi su una userform) questi non dispongono della proprietà ControlTipText per cui passandoci sopra con il mouse non è possibile visualizzare un pop-up con descrizione.

In teoria è possibile aggirare il problema ma, a mio modo di vedere, solo per visualizzare un pop-up non ne vale la pena comunque ti descrivo brevemente la procedura.
  1. Inserisci dove è più o meno la stampante una etichetta (label) activeX impostando lo sfondo trasparente (per farlo occorre che tu abbia la scheda Sviluppo sulla barra multifunzione);
  2. Posiziona l'immagine della stampante più o meno al centro di tale etichetta;
  3. Inserisci un'altra etichetta (anch'essa con sfondo trasparente) e posizionala sopra l'immagine della stampante;
  4. Inserisci una terza etichetta posizionandola vicino l'icona della stampante che abbia come testo "stampa file excel"
Questo il codice da associare alla prima label che nasconde il tooltip

Visual Basic:
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Label3.Visible = False
End Sub

Questo il codice da associare alla seconda label per visualizzare il tooltip

Visual Basic:
Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Label3.Visible = True
End Sub

Questo invece il codice, da abbinare sempre alla seconda label, per lanciare la stampa

Visual Basic:
Private Sub Label2_Click()
Dim Risposta As Integer

' Mostra il pop-up di avviso
Risposta = MsgBox("Vuoi davvero procedere con la stampa del file Excel?", vbYesNo + vbQuestion, "Conferma Stampa")

' Se l'utente clicca su "Sì" (Yes)
If Risposta = vbYes Then
ActiveSheet.PrintOut
MsgBox "Stampa inviata con successo!", vbInformation, "Operazione completata"
Else
' Se l'utente clicca su "No"
MsgBox "Stampa annullata.", vbInformation, "Operazione annullata"
End If
End Sub

Per funzionare funziona ma talvolta appaiono piccole "discrepanze".

Mi rendo anche conto che per mettere su questo ambaradan delle conoscenze di VBA si devono possedere (e mi pare non sia il tuo caso) per cui per avere solo il tooltip che appare e scompare come dicevo prima ne vale la pena?

Non basta ingrandire l'icona della stampante.

Volendo si può anche usare un pulsante ActiveX (CommandButton) dove è possibile inserire al suo interno l'immagine della stampante.

Il pulsante avrebbe questo aspetto



P.S. Cambio il titolo della discussione perchè il problema non è come inserire pulsanti su un foglio.
 
Ultima modifica:
  • Like
Reactions: ipolito

alex1970

Nuovo utente
Original poster
24 Maggio 2026
14
1
3
Office 2016
Grazie 1000, gentilissimo, stasera provo e ti aggiorno, ma immagino già che funzioni al 100%, grazie