Certaines de mes sub ne fonctionnent que si un des lecteurs r=E9seau est
connect=E9
Je cherche =E0 faire une petite fonction qui pourrait s=92inscrire en
d=E9but de certaines de mes sub, afin de v=E9rifier si oui ou non le
lecteur r=E9seau d=E9sign=E9 est disponible
Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne
sont pas connect=E9s au r=E9seau et donc la sub plante lamentablement !!!!
Je fais d=E9j=E0 des ChDrive (+ la lettre du r=E9seau) du style
On error resume next
ChDrive "G=94
If err.number <> 0 then =85.. et donc cela =E9vite le plantage, mais
quelque fois quand il n=92est pas connect=E9, la r=E9ponse est longue =85=
=85
De plus il faudrait pouvoir mettre en argument la lettre du lecteur =E0
tester (=AB G =BB ou =AB I =BB ou =AB H =BB ou autre =85
Y a-t-il autre chose que ChDrive pour tester le lecteur r=E9seau ?
L=92id=E9al serait :
if testR=E9seau(=AB G =BB) =3D false then exit sub (il faudrait pouvoir
entrer la lettre si diff=E9rente ....
Votre gentillesse pourrait elle m=92aider et me guider pour trouer LA
solution ?
Je vous remercie d=92avance, je reste dans le coin et je pourrais m=EAme
le tester demain, car je bosse !!
Horrible un dimanche avant les f=EAtes !
Syl VBA
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour SylVBA,
Par exemple, à adapter :
Private Sub CommandButton1_Click() Dim Drv As String
Drv = "X" MsgBox Drv & " connecté : " & DriveConnected(Drv) End Sub
Private Function DriveConnected(DriveLetter As String) As Boolean DriveConnected = (InStr(GetNetworkDrives, DriveLetter) > 0) End Function
Private Function GetNetworkDrives() As String Dim WshNetwork As Object Dim oDrives As Object Dim Tmp As String
Set WshNetwork = CreateObject("WScript.Network") Set oDrives = WshNetwork.EnumNetworkDrives For i = 0 To oDrives.Count - 1 Step 2 Debug.Print "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i + 1) Tmp = Tmp & oDrives(i) Next
Set oDrives = Nothing Set WshNetwork = Nothing GetNetworkDrives = Tmp End Function
SylVBA a écrit :
Bonsoir à vous,
Certaines de mes sub ne fonctionnent que si un des lecteurs réseau est connecté Je cherche à faire une petite fonction qui pourrait s’inscrire en début de certaines de mes sub, afin de vérifier si oui ou non le lecteur réseau désigné est disponible Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne sont pas connectés au réseau et donc la sub plante lamentablement !!!!
Je fais déjà des ChDrive (+ la lettre du réseau) du style On error resume next ChDrive "G” If err.number <> 0 then ….. et donc cela évite le plantage, mais quelque fois quand il n’est pas connecté, la réponse est longue …… De plus il faudrait pouvoir mettre en argument la lettre du lecteur à tester (« G » ou « I » ou « H » ou autre … Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ? L’idéal serait : if testRéseau(« G ») = false then exit sub (il faudrait pouvoir entrer la lettre si différente ....
Votre gentillesse pourrait elle m’aider et me guider pour trouer LA solution ?
Je vous remercie d’avance, je reste dans le coin et je pourrais même le tester demain, car je bosse !! Horrible un dimanche avant les fêtes ! Syl VBA
--
Cordialement,
Jacques.
Bonjour SylVBA,
Par exemple, à adapter :
Private Sub CommandButton1_Click()
Dim Drv As String
Drv = "X"
MsgBox Drv & " connecté : " & DriveConnected(Drv)
End Sub
Private Function DriveConnected(DriveLetter As String) As Boolean
DriveConnected = (InStr(GetNetworkDrives, DriveLetter) > 0)
End Function
Private Function GetNetworkDrives() As String
Dim WshNetwork As Object
Dim oDrives As Object
Dim Tmp As String
Set WshNetwork = CreateObject("WScript.Network")
Set oDrives = WshNetwork.EnumNetworkDrives
For i = 0 To oDrives.Count - 1 Step 2
Debug.Print "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i + 1)
Tmp = Tmp & oDrives(i)
Next
Set oDrives = Nothing
Set WshNetwork = Nothing
GetNetworkDrives = Tmp
End Function
SylVBA a écrit :
Bonsoir à vous,
Certaines de mes sub ne fonctionnent que si un des lecteurs réseau est
connecté
Je cherche à faire une petite fonction qui pourrait s’inscrire en
début de certaines de mes sub, afin de vérifier si oui ou non le
lecteur réseau désigné est disponible
Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne
sont pas connectés au réseau et donc la sub plante lamentablement !!!!
Je fais déjà des ChDrive (+ la lettre du réseau) du style
On error resume next
ChDrive "G”
If err.number <> 0 then ….. et donc cela évite le plantage, mais
quelque fois quand il n’est pas connecté, la réponse est longue ……
De plus il faudrait pouvoir mettre en argument la lettre du lecteur à
tester (« G » ou « I » ou « H » ou autre …
Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ?
L’idéal serait :
if testRéseau(« G ») = false then exit sub (il faudrait pouvoir
entrer la lettre si différente ....
Votre gentillesse pourrait elle m’aider et me guider pour trouer LA
solution ?
Je vous remercie d’avance, je reste dans le coin et je pourrais même
le tester demain, car je bosse !!
Horrible un dimanche avant les fêtes !
Syl VBA
Private Sub CommandButton1_Click() Dim Drv As String
Drv = "X" MsgBox Drv & " connecté : " & DriveConnected(Drv) End Sub
Private Function DriveConnected(DriveLetter As String) As Boolean DriveConnected = (InStr(GetNetworkDrives, DriveLetter) > 0) End Function
Private Function GetNetworkDrives() As String Dim WshNetwork As Object Dim oDrives As Object Dim Tmp As String
Set WshNetwork = CreateObject("WScript.Network") Set oDrives = WshNetwork.EnumNetworkDrives For i = 0 To oDrives.Count - 1 Step 2 Debug.Print "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i + 1) Tmp = Tmp & oDrives(i) Next
Set oDrives = Nothing Set WshNetwork = Nothing GetNetworkDrives = Tmp End Function
SylVBA a écrit :
Bonsoir à vous,
Certaines de mes sub ne fonctionnent que si un des lecteurs réseau est connecté Je cherche à faire une petite fonction qui pourrait s’inscrire en début de certaines de mes sub, afin de vérifier si oui ou non le lecteur réseau désigné est disponible Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne sont pas connectés au réseau et donc la sub plante lamentablement !!!!
Je fais déjà des ChDrive (+ la lettre du réseau) du style On error resume next ChDrive "G” If err.number <> 0 then ….. et donc cela évite le plantage, mais quelque fois quand il n’est pas connecté, la réponse est longue …… De plus il faudrait pouvoir mettre en argument la lettre du lecteur à tester (« G » ou « I » ou « H » ou autre … Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ? L’idéal serait : if testRéseau(« G ») = false then exit sub (il faudrait pouvoir entrer la lettre si différente ....
Votre gentillesse pourrait elle m’aider et me guider pour trouer LA solution ?
Je vous remercie d’avance, je reste dans le coin et je pourrais même le tester demain, car je bosse !! Horrible un dimanche avant les fêtes ! Syl VBA
--
Cordialement,
Jacques.
sylvie.laurent82
Bonjour Jacques,
Merci cela fonctionne parfaitement,
J'ai adapté la ligne de test comme ceci:
If DriveConnected("G") = False Then MsgBox "Réseau non connecté ... fonction indisponible..", vbCritical, "Fin du Process": Exit Sub
Il ne cherche QUE les lecteurs réseau, pas les disques dur externe ou clés USB ?
Ton code est très bien, on aurait pas pu faire en une seule fonction ?
c'est vrai que je ne comprends pas tout dans la deuxième fonction, mais je travaille
Au plaisir, je reste là !! (plantée devant MPFE comme souvent)
Un grand merci à vous les contributeurs, sans vous nous n'aurions pas de petits secrest !!!
Syl VBA
On 6 déc, 22:48, Jacques93 wrote:
Bonjour SylVBA,
Par exemple, à adapter :
Private Sub CommandButton1_Click() Dim Drv As String
Drv = "X" MsgBox Drv & " connecté : " & DriveConnected(Drv) End Sub
Private Function DriveConnected(DriveLetter As String) As Boolean DriveConnected = (InStr(GetNetworkDrives, DriveLetter) > 0) End Function
Private Function GetNetworkDrives() As String Dim WshNetwork As Object Dim oDrives As Object Dim Tmp As String
Set WshNetwork = CreateObject("WScript.Network") Set oDrives = WshNetwork.EnumNetworkDrives For i = 0 To oDrives.Count - 1 Step 2 Debug.Print "Drive " & oDrives.Item(i) & " = " & oDrives.Ite m(i + 1) Tmp = Tmp & oDrives(i) Next
Set oDrives = Nothing Set WshNetwork = Nothing GetNetworkDrives = Tmp End Function
SylVBA a écrit :
> Bonsoir à vous,
> Certaines de mes sub ne fonctionnent que si un des lecteurs réseau es t > connecté > Je cherche à faire une petite fonction qui pourrait sinscrire en > début de certaines de mes sub, afin de vérifier si oui ou non le > lecteur réseau désigné est disponible > Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne > sont pas connectés au réseau et donc la sub plante lamentablement ! !!!
> Je fais déjà des ChDrive (+ la lettre du réseau) du style > On error resume next > ChDrive "G > If err.number <> 0 then .. et donc cela évite le plantage, mais > quelque fois quand il nest pas connecté, la réponse est longue > De plus il faudrait pouvoir mettre en argument la lettre du lecteur à > tester (« G » ou « I » ou « H » ou autre > Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ? > Lidéal serait : > if testRéseau(« G ») = false then exit sub (il faudrait pouv oir > entrer la lettre si différente ....
> Votre gentillesse pourrait elle maider et me guider pour trouer LA > solution ?
> Je vous remercie davance, je reste dans le coin et je pourrais mêm e > le tester demain, car je bosse !! > Horrible un dimanche avant les fêtes ! > Syl VBA
--
Cordialement,
Jacques.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour Jacques,
Merci cela fonctionne parfaitement,
J'ai adapté la ligne de test comme ceci:
If DriveConnected("G") = False Then MsgBox "Réseau non connecté ...
fonction indisponible..", vbCritical, "Fin du Process": Exit Sub
Il ne cherche QUE les lecteurs réseau, pas les disques dur externe ou
clés USB ?
Ton code est très bien, on aurait pas pu faire en une seule fonction ?
c'est vrai que je ne comprends pas tout dans la deuxième fonction,
mais je travaille
Au plaisir, je reste là !! (plantée devant MPFE comme souvent)
Un grand merci à vous les contributeurs, sans vous nous n'aurions pas
de petits secrest !!!
Syl VBA
On 6 déc, 22:48, Jacques93 <jacques@Nospam> wrote:
Bonjour SylVBA,
Par exemple, à adapter :
Private Sub CommandButton1_Click()
Dim Drv As String
Drv = "X"
MsgBox Drv & " connecté : " & DriveConnected(Drv)
End Sub
Private Function DriveConnected(DriveLetter As String) As Boolean
DriveConnected = (InStr(GetNetworkDrives, DriveLetter) > 0)
End Function
Private Function GetNetworkDrives() As String
Dim WshNetwork As Object
Dim oDrives As Object
Dim Tmp As String
Set WshNetwork = CreateObject("WScript.Network")
Set oDrives = WshNetwork.EnumNetworkDrives
For i = 0 To oDrives.Count - 1 Step 2
Debug.Print "Drive " & oDrives.Item(i) & " = " & oDrives.Ite m(i + 1)
Tmp = Tmp & oDrives(i)
Next
Set oDrives = Nothing
Set WshNetwork = Nothing
GetNetworkDrives = Tmp
End Function
SylVBA a écrit :
> Bonsoir à vous,
> Certaines de mes sub ne fonctionnent que si un des lecteurs réseau es t
> connecté
> Je cherche à faire une petite fonction qui pourrait sinscrire en
> début de certaines de mes sub, afin de vérifier si oui ou non le
> lecteur réseau désigné est disponible
> Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne
> sont pas connectés au réseau et donc la sub plante lamentablement ! !!!
> Je fais déjà des ChDrive (+ la lettre du réseau) du style
> On error resume next
> ChDrive "G
> If err.number <> 0 then .. et donc cela évite le plantage, mais
> quelque fois quand il nest pas connecté, la réponse est longue
> De plus il faudrait pouvoir mettre en argument la lettre du lecteur à
> tester (« G » ou « I » ou « H » ou autre
> Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ?
> Lidéal serait :
> if testRéseau(« G ») = false then exit sub (il faudrait pouv oir
> entrer la lettre si différente ....
> Votre gentillesse pourrait elle maider et me guider pour trouer LA
> solution ?
> Je vous remercie davance, je reste dans le coin et je pourrais mêm e
> le tester demain, car je bosse !!
> Horrible un dimanche avant les fêtes !
> Syl VBA
--
Cordialement,
Jacques.- Masquer le texte des messages précédents -
If DriveConnected("G") = False Then MsgBox "Réseau non connecté ... fonction indisponible..", vbCritical, "Fin du Process": Exit Sub
Il ne cherche QUE les lecteurs réseau, pas les disques dur externe ou clés USB ?
Ton code est très bien, on aurait pas pu faire en une seule fonction ?
c'est vrai que je ne comprends pas tout dans la deuxième fonction, mais je travaille
Au plaisir, je reste là !! (plantée devant MPFE comme souvent)
Un grand merci à vous les contributeurs, sans vous nous n'aurions pas de petits secrest !!!
Syl VBA
On 6 déc, 22:48, Jacques93 wrote:
Bonjour SylVBA,
Par exemple, à adapter :
Private Sub CommandButton1_Click() Dim Drv As String
Drv = "X" MsgBox Drv & " connecté : " & DriveConnected(Drv) End Sub
Private Function DriveConnected(DriveLetter As String) As Boolean DriveConnected = (InStr(GetNetworkDrives, DriveLetter) > 0) End Function
Private Function GetNetworkDrives() As String Dim WshNetwork As Object Dim oDrives As Object Dim Tmp As String
Set WshNetwork = CreateObject("WScript.Network") Set oDrives = WshNetwork.EnumNetworkDrives For i = 0 To oDrives.Count - 1 Step 2 Debug.Print "Drive " & oDrives.Item(i) & " = " & oDrives.Ite m(i + 1) Tmp = Tmp & oDrives(i) Next
Set oDrives = Nothing Set WshNetwork = Nothing GetNetworkDrives = Tmp End Function
SylVBA a écrit :
> Bonsoir à vous,
> Certaines de mes sub ne fonctionnent que si un des lecteurs réseau es t > connecté > Je cherche à faire une petite fonction qui pourrait sinscrire en > début de certaines de mes sub, afin de vérifier si oui ou non le > lecteur réseau désigné est disponible > Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne > sont pas connectés au réseau et donc la sub plante lamentablement ! !!!
> Je fais déjà des ChDrive (+ la lettre du réseau) du style > On error resume next > ChDrive "G > If err.number <> 0 then .. et donc cela évite le plantage, mais > quelque fois quand il nest pas connecté, la réponse est longue > De plus il faudrait pouvoir mettre en argument la lettre du lecteur à > tester (« G » ou « I » ou « H » ou autre > Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ? > Lidéal serait : > if testRéseau(« G ») = false then exit sub (il faudrait pouv oir > entrer la lettre si différente ....
> Votre gentillesse pourrait elle maider et me guider pour trouer LA > solution ?
> Je vous remercie davance, je reste dans le coin et je pourrais mêm e > le tester demain, car je bosse !! > Horrible un dimanche avant les fêtes ! > Syl VBA
--
Cordialement,
Jacques.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Jacques93
Bonjour,
a écrit :
Bonjour Jacques,
Merci cela fonctionne parfaitement,
J'ai adapté la ligne de test comme ceci:
If DriveConnected("G") = False Then MsgBox "Réseau non connecté ... fonction indisponible..", vbCritical, "Fin du Process": Exit Sub
Il ne cherche QUE les lecteurs réseau, pas les disques dur externe ou clés USB ?
En fait cela renvoie les partages réseaux, cela peut donc être un répertoire ou un disque local mappé. Si tu regardes la fenêtre de Debug tu dois y voir quelque chose du genre :
X: = Nom de machineNom de resource
Tu peux aussi obtenir ces informations avec la fonction NET USE dans une invite de commande
Ton code est très bien, on aurait pas pu faire en une seule fonction ?
Si, mais j'ai pris l'habitude de découper, ça simplifie la lecture je trouve, et la mise au point ...
c'est vrai que je ne comprends pas tout dans la deuxième fonction,
Au plaisir, je reste là !! (plantée devant MPFE comme souvent)
Un grand merci à vous les contributeurs, sans vous nous n'aurions pas de petits secrest !!!
Syl VBA
82 , On ne devrait jamais quitter Montauban ? ;-)
--
Cordialement,
Jacques.
Bonjour,
sylvie.laurent82@wanadoo.fr a écrit :
Bonjour Jacques,
Merci cela fonctionne parfaitement,
J'ai adapté la ligne de test comme ceci:
If DriveConnected("G") = False Then MsgBox "Réseau non connecté ...
fonction indisponible..", vbCritical, "Fin du Process": Exit Sub
Il ne cherche QUE les lecteurs réseau, pas les disques dur externe ou
clés USB ?
En fait cela renvoie les partages réseaux, cela peut donc être un
répertoire ou un disque local mappé. Si tu regardes la fenêtre de Debug
tu dois y voir quelque chose du genre :
X: = \Nom de machineNom de resource
Tu peux aussi obtenir ces informations avec la fonction NET USE dans une
invite de commande
Ton code est très bien, on aurait pas pu faire en une seule fonction ?
Si, mais j'ai pris l'habitude de découper, ça simplifie la lecture je
trouve, et la mise au point ...
c'est vrai que je ne comprends pas tout dans la deuxième fonction,
If DriveConnected("G") = False Then MsgBox "Réseau non connecté ... fonction indisponible..", vbCritical, "Fin du Process": Exit Sub
Il ne cherche QUE les lecteurs réseau, pas les disques dur externe ou clés USB ?
En fait cela renvoie les partages réseaux, cela peut donc être un répertoire ou un disque local mappé. Si tu regardes la fenêtre de Debug tu dois y voir quelque chose du genre :
X: = Nom de machineNom de resource
Tu peux aussi obtenir ces informations avec la fonction NET USE dans une invite de commande
Ton code est très bien, on aurait pas pu faire en une seule fonction ?
Si, mais j'ai pris l'habitude de découper, ça simplifie la lecture je trouve, et la mise au point ...
c'est vrai que je ne comprends pas tout dans la deuxième fonction,