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 Access Discussion :

Probleme On Error GoTo


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Probleme On Error GoTo
    Bonjour,

    déjà merci a tout ceux qui veulent bien m'aider a résoudre mon probléme...

    Pour fair cour j'ai besoin de supprimer un fichier par la commande Kill, le probléme c'est que lorque le fichier est ouvert j'ai une erreur :

    Erreur d'execution '70' Permission refusée

    Je voudrai pouvoir gérer cette erreur en affichant un message box, j'utilise alors le On Error GoTo ...

    Le probléme c'est que cela ne marche pas du tout, c'est comme si le systéme ne détecte pas l'erreur. Voici le code de ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Function EffacerFichier(ByVal Path As String)
    On Error GoTo GestErr
        Kill Path
    On Error GoTo 0
    Exit Function
     
    GestErr:
    Select Case err.Number    
    Case 70
    v = MsgBox("Vous devez fermer Excel", vbCritical Or vbOKOnly, "Attention")
    End Select
    Resume Next
     
    End Function
    Je suis en VB6 sous Access 2003

    Si quelqun a une idée pour résoudre ce probléme...
    merci d'avance

  2. #2
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Pourquoi utiliser une fonction, une procédure est suffisante dans ce cas.

    Essaye comme ça, si ce n'est pas l'erreur 70 tu verras quelle erreur tu recois:
    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
     
    Private Sub EffacerFichier(ByVal Path As String)
       On Error GoTo GestErr
       Kill Path
     
    GestErr:
       If Err.Number > 0 then
         Select Case err.Number 
            Case 70
                v = MsgBox("Vous devez fermer Excel", vbCritical Or vbOKOnly, "Attention")
            Else
               Msgbox Err.Number & " / " & Err.Description, VbCritical
         End Select
       End If
    End Sub

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci de m'avoir répondu aussi vite Mais...

    Le probléme est toujour la, lorsque le fichier est ouvert j'ai toujour l'erreur 70 et la msgbox ne s'affiche pas.

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Bonjour

    Moi, j'ai placé ta fonction dans un module, d'où "Public Function".

    A mon humble avis, le test de l'erreur 70 est inutile car, soit Excel est fermé et ton fichier est effacé, soit ton fichier est ouvert et une erreur apparaît...

    Alors, ce que je te propose (cela fonctionne chez-moi) c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function EffacerFichier(ByVal Path As String)
    On Error GoTo GestErr
        Kill Path
    Exit Function
     
    GestErr:
        MsgBox " Vous devez fermer votre fichier avant de pouvoir le supprimer", vbCritical, "Attention"
     
    End Function

  5. #5
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Vérifie dans les options de VBA sous l'onglet général si l'option "arrêt sur les erreurs non gérées" est bien cochée

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponses, en cochant l'arret sur les erreur non gérer au lieu de arret sur toute les erreur, cela marche... il falait y penser.

    Merci encor mon probléme est resolu

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

Discussions similaires

  1. problem avec on error goto
    Par br@veknight dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/07/2008, 08h36
  2. Probleme On Error GoTo
    Par CharboTeam dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 03/07/2008, 10h20
  3. [VBA-E]Pb "On Error GoTo"
    Par hdidan dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 04/04/2006, 18h41
  4. [Kylix] probleme (LINKER ERROR)
    Par subzero82 dans le forum EDI
    Réponses: 2
    Dernier message: 14/05/2004, 19h28

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