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érification presence d'un fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut Vérification presence d'un fichier
    Bonjour tout le monde,

    Je debute en VBA et je souhaiterai vérifier si un fichier et present dans un dossier.
    Comment peut on faire pour permettre ceci.
    Merci a vous

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Salut,

    si tu connais le nom complet, voici un exemple pour le faire :
    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
     
    Function fichier_existe(fullname as string) As Boolean
    Dim res             As Variant
     
    res = Dir(fullname, vbSystem)
    If res = "" Then
       MsgBox "fichier non trouvé " & fullname
       fichier_existe = false
       Exit Function
     else
      fichier_existe = true
    End If
     
     
    End Function
    et pour tester l'existe du fichier "C:\windows\explorer.exe" tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim fichier as string
     
    fichier = "C:\windows\explorer.exe"
    if fichier_existe(fichier) then
     ....
    endif

  3. #3
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut
    Merci pour ta reponse mais si on se ve pas une fonction mais juste un morceau de code a ajouter au code initial comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    nom = Cells(7, 2) & ".JPG"
    Set filesys = CreateObject("Scripting.FileSystemObject")
    le_chemin_du_fichier = "images/ " & nom & " "
    If filesys.FileExists(le_chemin_du_fichier) Then
        MsgBox "il existe"
    Else
        MsgBox "il n'existe pas"
    End If
    sauf que sa ne marche pas sa me dit tout le temps qu'il n'existe pas
    Merci pr ton aide

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    je vois au moins 2 problèmes :

    le_chemin_du_fichier = "images/ " & nom & " "
    1) remplace / par \ partout
    2) tu ne donnes pas le chemin complet de ton fichier. Si tu veux savoir ou ton code cherches et après quoi, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    debug.print Activeworkbook.path & "images\" nom
    donc pour tester avec mon code il te faudrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    le_chemin_du_fichier = "images\" & nom
    res = Dir(le_chemin_du_fichier, vbSystem)
    If res = "" Then
        MsgBox "il n'existe pas"
    Else
        MsgBox "il existe"
    endif

  5. #5
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut
    Merci beaucoup
    Mais je comprend pas le fichier existe puis il me dit qu'il n'existe pas .

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Donne moi des détails.

    je ne te comprends pas.

    merci de rattacher tes remarques à des lignes de code avec des valeurs de variables.

  7. #7
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    nom = Cells(7, 2) & ".JPG"
    le_chemin_du_fichier = "images\" & nom
    res = Dir(le_chemin_du_fichier, vbSystem)
    If res = "" Then
        MsgBox "il n'existe pas"
    Else
        MsgBox "il existe"
    End If

    Tu vois j'ai un catalogue de piéce détachées et ce que je veux c'est lorqu'il y a une image qui porte le ref de le piéce cela me fasse un appareille foto et lorsqu'on clic dessus sa m'affiche la foto.Cela marche nikel sauf que sa me met des appareille foto a toute les piéce et moi je veux qu'il y ai un appareil foto quand il y a une image dans le fichier image\Le_nom_de_laRef.

    Ce que je comprend pas c'est la foto existe dans le fichier et sa me met q'il n'existe pas.
    Merci de ton aide

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Dir ne le trouvera pas si le fichier a un attribut "caché" ...

    essaye donc avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res = Dir("d:\essai.txt", vbHidden Or vbNormal)
    eu lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     res = Dir("d:\essai.txt", system) 
    en changeant bien évidemment d:\essai.txt par ton chemin complet, hein ...

    Edit :

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    le_chemin_du_fichier = "images\" & nom
    n'est pas du tout un chemin complet

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    C'est quoi le chemin du répertoire de photos ?

    Donne moi aussi un exemple de nom de photos.

  10. #10
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    "images\" & nom
    te mettra tjs une erreur, tu doit lui envoyer un chemin absolu.

    dans ton cas, il n'y a aucun renseignement sur le lecteur employé, etc...

    par ex
    serait correct

  11. #11
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Je me tue à le dire...

  12. #12
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    Je me tue à le dire...
    je sais, c'est pour ça que j'en remet une couche!

  13. #13
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut
    C'est bon les gars sa fonctionne
    Merci pour votre aide

  14. #14
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut
    J'orai encore une question.
    Est ce que c'est possible de mettre un chemin relatif.
    Merci de votre réponse

  15. #15
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Du genre de quoi ?

  16. #16
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par Léponge85 Voir le message
    J'orai encore une question.
    Est ce que c'est possible de mettre un chemin relatif.
    Merci de votre réponse
    Oui, bien évidemment !
    En général on choiisit le dossier de l'application, pour y mettre son dossier toto et s'y référer ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dossier = Application.path & "\toto"
    ce qui fait que si fichier se nomme "titi.txt", on se réfère ainsi à ce fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chemin_complet_fichier = dossier & "\" & fichier
    Tu peux bien évidemment choisir un autre dossier (s'il est fixe et connu) que celui de ton application ...

  17. #17
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut
    Sa ne marche pas quand je met le relatif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    le_chemin_du_fichier = "V:\sav\Alan\Cata avec photo\version complete\web2008\pages\images\" & nom
    Pouvez vous m'aidez svp
    Merci d'avance

  18. #18
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    Citation Envoyé par Léponge85 Voir le message
    J'orai encore une question.
    Est ce que c'est possible de mettre un chemin relatif.
    Merci de votre réponse
    Oui mait tout dépend où ton chemin doit pointer au final... Tu peux aussi utiliser des variables d'environnement si tu souhaites utiliser ta macro pour plusieurs utilisateurs ou machines...

    Par exemple:
    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
    Sub VariableEnvironnement()
      Debug.Print "USERNAME : " & Environ("USERNAME")
      ' neo2k2
      Debug.Print "USERDOMAIN : " & Environ("USERDOMAIN")
      ' WORKGROUP
      Debug.Print "USERPROFILE : " & Environ("USERPROFILE")
      ' C:\Documents and Settings\neo2k2
      Debug.Print "ALLUSERSPROFILE : " & Environ("ALLUSERSPROFILE")
      ' C:\Documents and Settings\All Users 
      Debug.Print "APPDATA : " & Environ("APPDATA")
      ' C:\Documents and Settings\neo2k2\Application Data 
      Debug.Print "COMPUTERNAME : " & Environ("COMPUTERNAME")
      ' MON_PC
      Debug.Print "HOMEDRIVE : " & Environ("HOMEDRIVE")
      ' C:
      Debug.Print "HOMEPATH : " & Environ("HOMEPATH")
      ' \Documents and Settings\neo2k2
      Debug.Print "LOGONSERVER : " & Environ("LOGONSERVER")
      ' \neo2k2
      Debug.Print "SYSTEMDRIVE : " & Environ("SYSTEMDRIVE")
      ' C:
      Debug.Print "SYSTEMROOT : " & Environ("SYSTEMROOT")
      ' C:\WINDOWS
      Debug.Print "TEMP : " & Environ("TEMP")
      ' C:\DOCUME~1\neo2k2\LOCALS~1\Temp
    End Sub

  19. #19
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Qu'affiche donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox "V:\sav\Alan\Cata avec photo\version complete\web2008\pages\images\" & nom
    puis vérifie que ce qui est affiché correspond bien à un fichier existant (chemin complet)... !!!

    Et je ne vois là rien de relatif !!!!

  20. #20
    Membre confirmé Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Par défaut
    Ce chemin correspond a la photo.
    Je sais qu'il n'est pas relatif c'est justement la question. Comment le rendre relatif

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Vérification du nombre de fichier uploadé
    Par leclone dans le forum Langage
    Réponses: 7
    Dernier message: 06/06/2008, 09h38
  2. Test de la presence d'un fichier XL dans un répertoire
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/07/2007, 15h19
  3. [MS-DOS] Comment tester la presence d'un fichier
    Par fabiofabio dans le forum Windows
    Réponses: 4
    Dernier message: 20/09/2006, 10h19
  4. probleme test presence d'un fichier(avec fso)
    Par pagez dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/08/2005, 16h24
  5. Tester la presence de plusieurs fichiers
    Par Little_Goldo dans le forum Linux
    Réponses: 4
    Dernier message: 17/03/2004, 12h34

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