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 :

Gestion d'objets pour verifier l'adresse des fichiers à executer. (FileSystemObject" et "Fs.FileExists") [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Par défaut Gestion d'objets pour verifier l'adresse des fichiers à executer. (FileSystemObject" et "Fs.FileExists")
    Bonjour,

    J'ai un souci avec la verification d'address pour relancer des procedures derrier. Mon fichier à sur la page "Menu" trois adresses de fichiers à executer. Un est un fichier txt, les autres sont des fichiers excel.
    Je veut que ma macro verifie qu'il n'a pas un erreur dans l'adresse ou même qu'elle n'existe pas.

    Je vous donné le code:

    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
    Sub checkliens()
     
    ' Fs servira a tester l'existence du fichier
    Dim Fs As Object
    Dim Fs1 As Object
    Dim Fs2 As Object
    t1 = Timer
    Application.ScreenUpdating = False
     
    ' On crée un objet de type Filesystem pour utiliser sa propriete "existe"
    Set Fs = CreateObject("Scripting.FileSystemObject")
    Set Fs1 = CreateObject("Scripting.FileSystemObject")
    Set Fs2 = CreateObject("Scripting.FileSystemObject")
     
    ' On memorise le nom du classeur present pour pouvoir jongler d'un classeur a l'autre
    sourceworkbook = ActiveWorkbook.Name
     
    ' teste l'existence du fichier que l'on veut traiter
        If Fs.FileExists(Range("D7")) Then
            If Fs1.FileExists(Range("D8")) Then
            If Fs2.FileExists(Range("D9")) Then
            ' nettoyage des feuilles
            Sheets("Zsales").Range("A1:BZ65657").ClearContents      'feuille base pour obtenir la TCD plus tard
            Sheets("Data_SAP").Range("A1:BZ65657").ClearContents    'Effacement préalable de BD
        Else
            MsgBox ("Erreur " & "le fichier provisions" & " est introuvable !")
        End If
            End If
            End If
     
    End Sub

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour !

    Il y a tout simplement la fonction VBA Dir : si elle ne renvoie rien, le fichier n'existe pas !

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Par défaut
    Merci, mais je ne sais pas comment l'utiliser sans introduire l'adresse du fichier. En effet, l'adresse peu changer par l'utilisateur.

  4. #4
    Invité
    Invité(e)
    Par défaut Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ' teste l'existence du fichier que l'on veut traiter
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.FileExists(Range("D7")) * fso.FileExists(Range("D8")) * fso.FileExists(Range("D9")) = True Then
        MsgBox "Les 3 existe"
    Else
        MsgBox "Aumoins 1/3 N'existe pas"
    End If
    Dernière modification par AlainTech ; 02/08/2014 à 10h14. Motif: Suppression de la citation inutile

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/05/2014, 14h04
  2. objet pour stocker la liste des noeuds dans un document xml
    Par nancy maman dans le forum Général Python
    Réponses: 3
    Dernier message: 29/08/2011, 16h28
  3. Réponses: 8
    Dernier message: 14/09/2006, 16h43
  4. Réponses: 13
    Dernier message: 03/06/2005, 11h26
  5. Réponses: 9
    Dernier message: 05/04/2005, 09h39

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