per correttezza posto anche l'ultimo codice che in local funziona:
Perchè tutti gli altri pulsanti che lanciano altre macro funzionano ma questo codice va sul messaggio come se non sentisse il file CSV che è aperto in excel sottostante?
Pierluigi
'---------------------------------------------
Posto anche il codice commentato passo passo per maggior(spero) chiarezza:
Public Sub m()
'dichiaro le variabili
Dim wkMe As Workbook
Dim wkInt As Workbook
Dim shMe As Worksheet
Dim shInt As Worksheet
Dim w As Object
'metto un riferimento al workbook
'che contiene il codice
Set wkMe = ThisWorkbook
With wkMe
'metto un riferimento al Foglio1
'(modifica a tuo piacere)
'dove andrò a incollare i dati presi
'dal file.csv
Set shMe = .Worksheets("Foglio1")
End With
'ciclo le Windows aperte
For Each w In Windows
'se ho una window che contiene
'ListaMovimenti" nella caption
If InStr(w.Caption, "ListaMovimenti") Then
'metto un riferimento valido al
'workbook relativo
Set wkInt = Workbooks(w.Caption)
'esco dal ciclo
Exit For
End If
Next
'se ho trovato un file valido aperto
If Not wkInt Is Nothing Then
With wkInt
'metto un riferimento al foglio
'del file .csv da cui copiare
' dati
Set shInt = .Worksheets(1)
'copio i dati dal foglio del file .csv
' e li incollo nel Foglio1(come già
'spiegato modificherai Foglio1 più in alto
' a seconda delle tue esigenze
shInt.Range("A1:C5").Copy _
Destination:=shMe.Range("B5")
End With
Else
'se non ho trovato un file valido
'mostro una MsgBox
MsgBox "File non trovato" '------------> ecco mi esce questo messaggio qundo lancio la macro da internet End If
'Set a Nothing delle variabili oggetto
Set shInt = Nothing
Set shMe = Nothing
Set wkInt = Nothing
Set wkMe = Nothing
End Sub