Bonjour à tous j'ai cherché dans la faq une façon de faire un net send depuis un formulaire access et je n'ai rien trouvé qui corresponde à ce que je voulai faire. Alors après plusieurs tentatives j'ai trouvé ce code qui je pense pourrait rendre service à d'autres. Mais si quelqu'un à mieux je suis bien évidement preneur. Ce code simule la commande dos: net send [poste destinataire] "message". Pour cela j'ai créer un fichier texte que j'ai appelé NetSend.cmd, dans lequel j'ai recopié ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 net send dmal3e107 %1 net send dmal3e106 %1 net send dmal3e104 %1 net send dmal3e050 %1 net send dmal3e049 %1 net send dmal3e048 %1 net send dmal3e047 %1 net send dmal3e046 %1 net send dmal3e045 %1 net send dmal3e044 %1 net send dmal3e043 %1 net send dmal3e042 %1 net send dmal3e041 %1 net send dmal3e040 %1 net send dmal3e039 %1 net send dmal3e038 %1 net send dmal3e037 %1 net send dmal3e034 %1 net send dmal3e033 %1 net send dmal3e032 %1 net send dmal3e031 %1 net send dmal3e030 %1dmal3e étant les noms des machines sur lesquelles je veux envoyer des messages, et le %1 étant le message que je veux envoyer qui change en fonction de l'actualité.
et dans mon formulaire access j'appelle mon fichier de la façon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Dim stAppName As String Dim varMessage As String 'variable contenant le message à envoyer Dim app1 As String ' chemin de mon fichier NetSend.cmd Dim Rep As Boolean ' variable contenant le réponse Select Case Incident_Résolu '[incident_Résolu]= champs indiquant si l'incident est clos Case True varMessage = """" & [description pb] & """" '[description pb]= champs dans lequel se trouve le message à envoyer Case False varMessage = """" & "RESOLU" & ": " & [description pb] & """" End Select app1 = """M:\Dossiers au quotidien\REMONTES TERRAIN\NetSend\netsend.cmd""" app1 = app1 & " " & varMessage Rep = Confirmer("Voici le message qui va être envoyé. " & vbNewLine & varMessage & vbNewLine & " Confirmez-vous cette envoie?", "Envoi Net Send") If Rep = True Then Call Shell(app1, 1) Else Exit Sub End If Exit_NentSend_Click:Maintenant que je l'ai trouvé sa me paraît vraiment très C... mais je vous assure qu'au début j'ai vraiment galéré pour savoir comment faire alors si sa peut aider un autre débutant comme moi tant mieux. Les limitations, car il y en a une c'est qu'il ne faut à priori pas de guillemets dans le texte à envoyer, si quelqu'un sait pourquoi bah j'aimerai bien qu'il me le dise. Mais ne vous moquez pas car j'ai vraiment galéré longtemps pour trouver ce truc.
Partager