IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

[VBA] Erreur 52 lorsqu'il y a déconnexion au serveur [Bug report]


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 19
    Points : 7
    Points
    7
    Par défaut [VBA] Erreur 52 lorsqu'il y a déconnexion au serveur
    bonjour,
    j'utilise excel 2003.
    J'ai un ordinateur (ordi1) qui relié à un autre (ordi2).
    Mon "application vba" (qui se trouve sur l'ordi1) lit un fichier se trouvant sur l'ordi2 mais lorsqu'il y a un bug de connection entre ces 2 ordi j'ai un message erreur 52. Je voudrais pouvoir détecter cette erreur mais je ne sais pas du tout comment faire.

    Voilà ce que j'ai fait mais ça bug sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If Dir("\\ordi2\c\fichiertexte\1.txt") = "" Then
    avec cette erreur 52.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Dir("\\ordi2\c\fichiertexte\1.txt") = "" Then
      MsgBox ("Le fichier n'existe pas!" & Chr(13) & Chr(10) & _
      "Veuillez relancer l'apllication"), vbCritical, "Erreur..."
      Exit Sub
      End If

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Par contre si le fichier n'est pas présent sur l'ordi 2 il n'y a pas d'erreur 52...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    si vous ne comprenez pas ce que j'ai écrit dites le moi j'essayerai de faire mieux

  4. #4
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Chez moi aussi j'ai cette erreur si le dossier n'existe pas...
    Tu dois d'abord tester l'existence du dossier avant de tester celle du fichier.

  5. #5
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    En fait la fonction Dir échoue avec un chemin réseau si le chemin n'existe pas...
    Il faut utiliser le FSO après l'avoir ajouter en référence (Microsoft Scripting Runtime)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Dim fs As Scripting.FileSystemObject
     
        Set fs = New Scripting.FileSystemObject
     
        If Not fs.FileExists("\\ordi2\c\fichiertexte\1.txt") Then
            MsgBox ("Le fichier n'existe pas!" & Chr(13) & Chr(10) & _
            "Veuillez relancer l'apllication"), vbCritical, "Erreur..."
            Exit Sub
        End If

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, ça fonctionne impec!
    Je ne conaissait pas cette méthode, faut dire que je suis au tout début de l'apprentissage du vba!!!

  7. #7
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 91
    Points : 89
    Points
    89
    Par défaut
    Merci beaucoup HPJ pour ta réponse en 2017 et je l'ai trouver très utile

    Sinon il y a une autre solution on utilison Dir, mais pas trop propre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    on error goto err:
    If Dir(CheminServeur(), vbDirectory) = "" Then     
     
     
    ...
     
    err:
    if err.Number = 52 then
    msgbox ""
    else
         err.Number
    end if

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] Erreur avec fonction Dcount
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2006, 09h56
  2. dll C++ pour VBA : erreur 49 et 453
    Par EL0807 dans le forum C++
    Réponses: 2
    Dernier message: 18/03/2006, 23h01
  3. Réponses: 1
    Dernier message: 27/01/2006, 13h11
  4. [VBA] Erreur dans un code. Hierarchie DAO.
    Par snoopy69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/10/2005, 22h28
  5. [VBA] Erreur dans une requête
    Par Damsou dans le forum Access
    Réponses: 31
    Dernier message: 21/06/2005, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo