Bonjour
La macro a pour but de lancer le shell net view et stocker le résultat dans un fichier texte (crée sur un disque externe)
puis ce fichier est lu par le classique get...
- En pas à pas le fichier lu est renseigné sans problème.
- En exécution la fréquence de résultats positifs est variable voire nulle.
j'ai essayer de temporiser entre les deux étapes sans amélioration.
Voila le mystère!!!
Merci à tous les courageux
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 Option Explicit Public LectNetView As String Public ListDesDk As String Sub passe_EnvironRevueTest() Dim leClas, DossF As String Dim I, J, ResuN, ResuD, ManX, CtrVId, CtrOk I = 0 Stadium: leClas = ThisWorkbook.Path & "\NetView" On Error Resume Next Kill leClas & "\envirOrdo.txt" RmDir leClas On Error GoTo 0 If Dir(leClas, vbDirectory) = "" Then MkDir leClas leClas = leClas & "\envirOrdo.txt" I = 0 Shell "cmd.exe /C c:\windows\system32\net view > " & "" & leClas & "", vbHide 'Application.Wait (Now + TimeValue("0:00:02")) Relire: LectNetView = LireFichierTexte(leClas) I = I + 1 If LectNetView = "" And I < 4 Then GoTo Relire If LectNetView <> "" Then Beep If LectNetView = "" Then CtrVId = CtrVId + 1 Else CtrOk = CtrOk + 1 End If J = J + 1 If J > 100 Then Stop: J = 0: CtrVId = 0: CtrOk = 0: Stop GoTo Stadium End Sub Public Function LireFichierTexte(ByVal monfichier As String) As String On Error GoTo LireFichierTexteErreur Dim IndexFichier As Integer IndexFichier = FreeFile() Open monfichier For Binary Access Read As #IndexFichier LireFichierTexte = Space$(LOF(IndexFichier)) Get #IndexFichier, , LireFichierTexte Close #IndexFichier Exit Function LireFichierTexteErreur: Close #IndexFichier LireFichierTexte = "" End Function
RON
Partager