in fact i can make it work if i slow it down a bit by placing msgbox after
the verb.doit call...
is there a better solution?

Dim sl
Dim sf
Dim sfi
Dim sfiv

Set sl = CreateObject("Shell.Application")
Set sf = sl.NameSpace("shell:connectionsfolder")

For Each sfi In sf.Items
If StrComp("VMware Network Adapter VMnet1", sfi.Name, vbTextCompare)
= 0 Then

For Each sfiv In sfi.Verbs
If StrComp("En&able", sfiv.Name, vbTextCompare) = 0 Then

sfiv.DoIt
'msgbox("wait")
Exit For

End If
Next
Exit For

End If
Next