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

VB 6 et antérieur Discussion :

[VB6]Comment savoir si un répertoire existe


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [VB6]Comment savoir si un répertoire existe
    bonjour voilà je sais qu'une fonction existe pour vérifier si un fichier existe à partir de son chemin.
    Là je voudrai effectuer la même démarche sauf que je veus savoir si un répertoire existe car il n'y a pas forcément de fichiers dedans
    merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    et si tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Dir(tonRepertoire & "\*.*", vbHidden) <>"" then

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Et si le répertoire existe mais qu'il est vide ??? que te retourneras ton dir ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    il me retourne vide aussi !

    Bien vu. je cherche autre chose alors

  5. #5
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Dim fs As Scripting.FileSystemObject
     
        Set fs = New Scripting.FileSystemObject
     
        ' test si le repertoire existe
        If Not fs.FolderExists(chemin) Then
             '  création du repertoire si besoin
             fs.CreateFolder (chemin)
        End If
     
        Set fs = Nothing
    bhaal76

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    c'est sympa ton code mais excuse moi de mon ignorance mais qu'est ce que veus dire?
    Merci d'avance

  7. #7
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    je déclare fs comme un objet Scripting.FileSystemObject, puis je l'instancie

    je dois donc le détruire quand je n'en n'ai plus besoin, d'ou le :
    set fs = nothing

    ps : pour utillisé l'objet "Scripting.FileSystemObject", tu doit ajouter a ton projet la référence a "Ms Scripting runtime"


    bhaal76

  8. #8
    Candidat au Club
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    autrement du bourrin qui marche :
    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
    rep = Dir(repertoire & "\*", vbNormal Or vbHidden Or vbDirectory Or vbArchive Or vbSystem)
    ' j'avoue j'en fais un peu trop
     Do While rep <> ""
             If rep <> ".." Then
                If rep <> "." Then
                        ' on ne veut pas les repertoires . et ..
                   If (GetAttr(repertoire & "\" & rep) And vbDirectory) = vbDirectory Then
                        ' verification que c'est bien un repertoire
     
    ' le traitement que tu veux faire
     
                   end if
               end if
            end if
    rep=dir
    loop

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci pour le code bhaal76 seulement je ne trouve pas le composan "Ms Scripting runtime"

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Slt pour le composant Ms Scripting Runtime tu va dans le menu projet,
    tu cliques sur references et le nom complet est :

    Microsoft Scripting Runtime

    Voilà !

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci tout le monde cettte petite fonction , fonctionne très bien
    Encore merci à tous décidément ce forum est tout ce qu'il y a de plus génial

  12. #12
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par bhaal76 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Dim fs As Scripting.FileSystemObject
     
        Set fs = New Scripting.FileSystemObject
     
        ' test si le repertoire existe
        If Not fs.FolderExists(chemin) Then
             '  création du repertoire si besoin
             fs.CreateFolder (chemin)
        End If
     
        Set fs = Nothing
    bhaal76

    Message d'erreur :
    fin d'instruction , ligne 1, caractère 8

  13. #13
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par cerkyr Voir le message
    Message d'erreur :
    fin d'instruction , ligne 1, caractère 8
    Reprise sur un autre forum (test avec succès) :

    --
    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
    '*** Déclaration des variables d'environnement
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")
     
    Dim dossier : dossier = "test"
    Dim repSOURCE : repSOURCE = "d:\"
    Dim repDESTINATION : repDESTINATION = "d:\data\windows\"
    Dim repVERIF : repVERIF = repDESTINATION & dossier
     
    '*** On met une condition pour vérifier l'existance du dossier contenu dans la variable "repVERIF".
    If fso.FolderExists(repVERIF) Then
            wscript.echo " [  ] Le dossier est déjà présent!!!"
        Else
    '*** Si le répertoire n'existe pas, celui-ci sera crée.
            fso.CreateFolder(repDESTINATION & dossier)
            wscript.echo " [OK] Le dossier " & repDESTINATION & dossier & " à été créer."
    End If
     
    '*** Destruction des objets
    Set fso = Nothing
    --

  14. #14
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour
    Hé bé !
    La fonction Dir de VB6 est efficace, native, légère et suffit.
    Elle ne retourne pas "" si le dossier est vide, à condition toutefois de l'utiliser comme il se doit
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Dir("D:\titi", vbDirectory)
    retournera "titi" si ce dossier existe et "" s'il n'existe pas.
    Voilà tout !

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/04/2011, 15h19
  2. Comment savoir si une zone de texte existe dans un formulaire ?
    Par jejeman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/06/2007, 11h55
  3. [VB6] comment savoir si la commande shell est terminée ?
    Par ghyscharlotte dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2003, 19h12
  4. [VB6] Comment accéder a la visionneuse d'API ??
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/11/2002, 12h57
  5. Réponses: 4
    Dernier message: 10/09/2002, 17h09

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