ciao Salvatore
allego uno zip perchè quel file utilizza anche una ImageList per affiancare le icone ai singoli items della LV che stanno in una cartella chiamata IconLV nelle medesima directory del file.
Se non ti serve, devi smanettare un po' il codice per commentarne i riferimenti e cancellare dalla uForm tale oggetto.
Mi avvalgo di una combo in un frame per farla apparire nel momento in cui fai doppioClick su un item.
NB: poichè la col. 0 è un id non è modificabile.
Veniamo alle coordinate dell'item
Nel momento che fai doppioClick, naturalmente excel intercetta prima il MouseDown, pertanto esegue questo evento:
Private Sub ListView2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As stdole.OLE_XPOS_PIXELS, ByVal Y As stdole.OLE_YPOS_PIXELS)
m_sngXDown = X
m_sngYDown = Y
End Sub
Le due variabili che vedi sono dichiarate come Private ad inizio modulo naturalmente.
Ora excel continua il tuo doppioClick ed esegue il relativo evento:
Private Sub ListView2_DblClick()
Dim c As Integer
Dim i As Integer
Dim ItemSel As ListItem
FrameXit
With LV.ColumnHeaders
For c = 1 To .Count
If m_sngXDown * 0.75 >= .Item(c).Left And m_sngXDown * 0.75 <= .Item(c).Left + .Item(c).Width Then
colonna = c
Exit For
End If
Next
End With
i = colonna
If i = 1 Then Exit Sub
FillCboList i
...ETC ETC ETC
Pertanto fa un loop sulle intestazioni, calcola se la coordinata cliccata (*075 è per l'allineamento tra pixel-point) è >= al left dell'item e <= al left dell'item + la sua larghezza:
If m_sngXDown * 0.75 >= .Item(c).Left And m_sngXDown * 0.75 <= .Item(c).Left + .Item(c).Width Then
quindi assegna a "i" il numero della colonna.
Poi esegue la sub FillCboList passandole tale parametro (i) per alimentare la combo.
Questo è quanto in breve.
Io non ho capito comunque quello che devi fare tu......sorry
un abbraccio