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 :

Vérifier si fichiers existent


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    QSE
    Inscrit en
    Septembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : QSE

    Informations forums :
    Inscription : Septembre 2014
    Messages : 22
    Par défaut Vérifier si fichiers existent
    Bonjour,

    J'ai un tableau composé de deux colonnes :

    Dans la première (colonne A), des titres de fichiers y figurent. J'aimerai que dans la colonne B, la macro complète automatiquement la présence et l'absence du fichier dans un répertoire (ne changeant jamais). Etant novice en vba, j'ai bricolé un code que j'ai repris mais cela ne fonctionne pas . Pouvez-vous m'aider s'il vous plait, je vous joints mon fichier.Vérification existance fichier.xlsm

    Merci d'avance,
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    - je n'ouvrirai en aucun cas un classeur tiers pour y voir ce que l'on n'expose pas dans la discussion elle-même
    - c'est le code tenté, qu'il convient de montrer ici, pas le classeur
    - l'utilisation simple de la fonction dir est la solution

  3. #3
    Membre averti
    Homme Profil pro
    QSE
    Inscrit en
    Septembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : QSE

    Informations forums :
    Inscription : Septembre 2014
    Messages : 22
    Par défaut
    Bonjour, merci pour votre réponse. Je procède de la façon suivante :

    Tout d'abord, dans un module, j'ai inséré la fonction ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function FichierExiste(MonFichier As String)
     
       If Len(Dir(MonFichier)) > 4 Then
          FichierExiste = True
       Else
          FichierExiste = False
       End If
    End Function
    Puis dans un second module, j'ai ma macro suivante :

    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
    Sub TesteSiFichierExiste()
    Dim MonFichier As String
     
     
    Set Xlclass = Worksheets("Feuil1")
    For i = 2 To Xlclass.Cells(Rows.Count, "A").End(xlUp).Row
     
    MonFichier = "C:\Users\" & Range("A1" & i).Value & ".pdf"
     
        If FichierExiste(MonFichier) = True Then
            Range("B" & i).Value = "Fichier présent"
        Else
            Range("B" & i).Value = "Fichier absent"
        End If
    Next
    End Sub
    Cela ne fonctionne pas.

  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
    Bonjour,

    la fonction pour savoir si un fichier existe est un peu superfétatoire
    car il suffit juste d'une unique instruction - Dir - pour le vérifier !

    Cells(i, 2).Value = "Fichier " & IIf(Dir("C:\Users\" & Cells(i, 1).Value & ".pdf") > "", "présent", "absent")   …

    ___________________________________________________________________________________________________________

          Merci de cliquer sur en bas à droite de chaque message ayant aidé puis sur pour clore cette discussion …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Stockholm, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  5. #5
    Membre averti
    Homme Profil pro
    QSE
    Inscrit en
    Septembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : QSE

    Informations forums :
    Inscription : Septembre 2014
    Messages : 22
    Par défaut
    Merci pour votre retour, j'ai testé votre solution. Cela ne fonctionne pas. En effet, même lorsqu'un fichier est présent, la fonction retourne 'fichier absent".

  6. #6
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    bonjour,

    Faudrait peut être vérifier le chemin complet de ledit fichier et comparer avec ce qu'il en retourne dans le code
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

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

    C'est normal car mon exemple reprenant la logique du code initial (ligne de code n°8 de la procédure)
    donc forcément fautive sinon cette discussion n'aurait pas lieu d'être !
    Donc logique à revoir !   Et on ne saurait la corriger sans connaître les tenants et les aboutissants …
    Cela commence en A2 ou en A12 ?

    Cet exemple n'ayant pour but de démontrer l'inutilité de la fonction et des lignes de code n°7 à 14 de la procédure.
    La ligne de code n°5 aussi n'ayant pas vraiment d'intérêt …

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

Discussions similaires

  1. [Débutant] Vérifier si fichier existe dans solution
    Par androidFan2206 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/07/2013, 10h48
  2. Vérifier si un fichier existe
    Par iwf-fr dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2006, 16h32
  3. Vérifier si un fichier existe déjà
    Par Kr00pS dans le forum C
    Réponses: 9
    Dernier message: 16/07/2006, 14h29
  4. Réponses: 3
    Dernier message: 14/06/2006, 10h06
  5. vérifier si un fichier existe
    Par shirya dans le forum C++
    Réponses: 5
    Dernier message: 19/12/2005, 09h36

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