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 :

Problème lors de la recherche de l'existence d'un fichier sous VBA Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2016
    Messages : 8
    Par défaut Problème lors de la recherche de l'existence d'un fichier sous VBA Excel
    Bonjour,

    J'ai un soucis lors de l'exécution de mon code pour vérifier l'existence d'un fichier : il me renvoie des données fausses et ne fait pas ce que je lui demande.
    J'ai regardé dans le FAQ pour rechercher comment coder pour vérifier l'existence d'un fichier (je m'en suis inspiré) mais mon code est un poil plus complexe et j'ai programmé qu'il s'active lors de l'ouverture du classeur.

    Voici en gros ce que je lui demande : regarde si un fichier qui a le nom X dans le répertoir Y avec l'extension ".csv" existe et auquel cas active une macro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub
    Dim Nom as String
    nom = X
     
    If le fichier dans le répertoire Y avec pour nom X n'existe pas  Then
    Remise à zéro des données de certaines cellules du fichier  
    End If
     
    End sub
    (c'est pas sorcier )

    Ce que j'ai codé :
    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
     
    Function FichierExiste(nom As String) As Boolean
        FichierExiste = Dir("\\Hornet\s_vpc\Catherine Sandrine\Activités Annexes Conseillers\CSV\") <> "" nom <> ""
    End Function
     
    Sub OuvDocRZ()
     
        Dim nom As String
        nom = Worksheets("Activités Annexes").Cells(2,1) & "_" & Worksheets("Activités Annexes").Cells(2,4) & "_" & Format(date,"ddmmyyyy")
     
        FichierExiste("\\Hornet\s_vpc\Catherine Sandrine\Activités Annexes Conseillers\CSV\" & nom & ".csv")
     
        If FichierExiste("\\Hornet\s_vpc\Catherine Sandrine\Activités Annexes Conseillers\CSV\" & nom & ".csv") = False Then
        RZ                                                                         ' c'est un clearcontents de certaines cellules, lancé seul (sans ce protocole) il marche très bien
        End If
     
        MsgBox FichierExiste & nom        'juste pour voir les valeurs des variables
     
    End Sub
    Le problème est le suivant : lorsque je supprime manuellement le fichier X dans le répertoire Y, la macro me sort que le fichier existe toujours (la MsgBox me renvoie TrueX) ou il me met FalseX, mais ne force par RZ. En gros, elle fait rien de ce que je lui demande . D'où viendrait le problème ...

    Si vous avez des suggestions je serai ravi de les entendre.

    Merci d'avoir lu mon poste et merci de votre aide.

    François

  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 !

    C'est pourtant simple en lisant l'aide VBA : la fonction Dir renvoie le nom du fichier s'il existe ! Sinon le résultat est vide …

    La ligne n°3 est donc complètement abracadabrantesque, il ne peut y avoir qu'un seul test : résultat <> ""
    Et oui les ravages du Copier / Coller sans se documenter …

    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2016
    Messages : 8
    Par défaut
    En effet c'était bien ça (le néophyte), j'avais rajouté " & nom <> "" " car je mettais une condition sur nom et donc je pensais qu'il fallait l'incorporer dans la fonction FichierExiste mais merci beaucoup. Je savais que c'était un truc à la c** mon truc.

    Merci beaucoup Marc-L.

  4. #4
    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

    Oui effectivement il faudrait passer le nom en paramètre de Dir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function FichierExiste(nom As String) As Boolean
             FichierExiste = Dir(Nom) <> ""
    End Function

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

Discussions similaires

  1. [SP-2010] Docx problème lors de la recherche et du téléchargement
    Par didithewarrior dans le forum SharePoint
    Réponses: 0
    Dernier message: 28/01/2013, 16h16
  2. [MySQL] Problème lors d'une recherche
    Par PowerGel dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/04/2012, 11h49
  3. Réponses: 0
    Dernier message: 30/04/2009, 10h17
  4. Problème lors d'une recherche de valeur macro
    Par yayasiano dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/03/2009, 09h24
  5. [Utilisation] Problème lors d'un update-> directory already exists
    Par BigBulle dans le forum Subversion
    Réponses: 2
    Dernier message: 04/03/2009, 18h52

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