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

Macros et VBA Excel Discussion :

Message d'erreur si fichier inexistant


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut Message d'erreur si fichier inexistant
    Bonjour,

    Malgré que le fichier soit inexistant, excel lance l’explorateur pour que je cherche manuellement le fichier.
    (Et il me le demande 150 fois car je suis dans une boucle )

    J’ai testé avec la fonction erreur mais ca ne fonctionne pas ..

    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
    Dim Chemin As Variant
     
    On Error GoTo erreur
        Worksheets("Etat").Select
        Chemin = "='\\chemin\[AP "
            For I = 2 To 153
            Range("D" & I).FormulaR1C1 = Chemin & Range("E1") & ".xlsx]Procédures_envoyées'!R" & I & "C5"
            Next I
        Worksheets("Accueil").Select
        Exit Sub
     
    'mini-programme erreur :
    erreur:
    MsgBox ("Le fichier avec le nom indiqué n’existe pas.")
     
    End Sub
    Merci d’avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Une erreur ouvrir le debuger pas un explorateur!

    Faire une formule sur un fichier inexistant en boucle ça relève de l'obsession!
    Pourquoi ne pas tester avant?

    Regards la méthode calculate
    Dernière modification par Invité ; 11/03/2015 à 08h23.

  3. #3
    Membre éclairé Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    Voici un bout de code que j'ai piquer sur la FAQ de developpez.net, qui permet de tester l'existence d'un fichier :

    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
     
    Function ExistingFile(FileName As String, FilePath as string)
    'FAQ Developpez.net
     
    On Error GoTo err
    Dim oFSO As Scripting.FileSystemObject
    Dim oFl As Scripting.File
     
    'Instanciation du FSO
    Set oFSO = New Scripting.FileSystemObject
    'Instanciation de l'objet File
    If oFSO.FileExists(FilePath & "\" & FileName) Then
        ExistingFile = True
    Else
        ExistingFile = False
    End If
     
    fin:
        Exit Function
     
    err:
            Select Case err.Number
                Case 53: MsgBox "Le fichier est introuvable"
                Case Else: MsgBox "Erreur inconnue"
            End Select
     
    Resume fin
     
    End Function
    Je récupère le FilePath sans le "\", C'est pour ça que je le rajoute entre FilePath et FileName.

    ça te renvoie "True" si le fichier existe, sinon "False"

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, lire et assimiler : Manipulation des fichiers en VBA

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    J'ai eu quelques soucis avec ton code, Nico Chg, du coup je l’ai arrangé, directement dans un Sub, comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim oFSO
    Dim FileName As String
    Dim FilePath As String
     
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    FilePath = "\\Repertoire"
    FileName = "fichier.xlsx"
     
    If oFSO.FileExists(FilePath & "\" & FileName) Then ' Si le fichier existe 
            Msgbox("Fichier trouvé")
    Else                                                ' Si le fichier n'existe pas 
        Msgbox("Fichier non trouvé")
    End If
    Et ce code fonctionne parfaitement.

    Merci beaucoup !
    Guillaume

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Function ExistenceFichier(sFichier As String) As Boolean
        ExistenceFichier = Dir$(sFichier) <> ""
    End Function

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/07/2013, 14h23
  2. Réponses: 5
    Dernier message: 11/10/2010, 16h42
  3. Réponses: 6
    Dernier message: 17/05/2010, 11h50
  4. message d'erreur load fichier xml
    Par minooo dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 20/04/2008, 20h09
  5. message d'erreur : "le fichier verrou est trop importan
    Par lol_adele dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/06/2004, 07h58

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