Bonjour PapyJoe, Rico, le Forum
Et oui, un petit mot de 7 lettres en début de post n'est pas si fatiguant à taper et ça a de suite de la gueule !! Donc on reprend
Bonjour,
Je partage un classeur excel sur un serveur avec 2 personnes....
Sinon la réponse de PapyJoe est très bien, mise en VBA directement je ne vois pas comment faire sans passer par une command DOS :
Private Const CommandCmd As String = "C:\Documents and Settings\Thierry\My Documents\My Commands\NetSend.cmd" '<<<<<<<<< Can Be Modified
Private Const CommandDos As String = "net send Computer_Name Test depuis VBA !!! " '<<<<<<<<<<<<<<<<<<< Can Be Modified
Sub MessageRun()
On Error GoTo ErrorHandler
Shell CommandCmd, vbNormalFocus
Exit Sub
ErrorHandler:
If Err = 53 Then
Call CreateCmd
Else
MsgBox "A non expected error has been generated " & Err.Number & " " & Err.Description
End If
End Sub
Private Sub CreateCmd()
Dim CmdString As String, CmdFile As String
With ThisWorkbook
CmdFile = CommandCmd
CmdString = RTrim(CommandDos)
End With
Open CmdFile For Output As #1
Print #1, CmdString
Close
Shell CommandCmd, vbNormalFocus
End Sub
Cette procédure en la lançant depuis "MessageRun" va générer un ".cmd" au premier lancement, dans le répertoire que l'on aura pris soin d'indiquer dans la constante "CommandCmd"... Si ce ".cmd" existe alors il ne sera plus re-générer...
La Constante "CommandDos" contient les mêmes informations que PapyJoe a indiqué...
Voilà ptet il y a plus simple mais ça fonctionne je viens de tester sous réseau Windows 2000
Bon Appétit
@+Thierry