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

VBA Access Discussion :

Explorateur [À faire]


Sujet :

VBA Access

  1. #21
    HiT
    HiT est déconnecté
    Débutant
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 20
    Points
    20
    Par défaut
    argyronet voici le code... effectivement pour un fichier ca marche, mais il ne passe pas au suivant
    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
    Sub OuvrirTousLesFichiers()
    Dim NombreDeFichiers%, NomFichier$, Repertoire$
    Repertoire = Me!rep & "\"
    NomFichier = Dir(Repertoire, vbNormal)
    Do While NomFichier <> ""
        If NomFichier <> "." And NomFichier <> ".." Then
          If (GetAttr(Repertoire & NomFichier) And vbNormal) = vbNormal Then
     
            Call formatage(Repertoire & NomFichier)
          NombreDeFichiers = NombreDeFichiers + 1
          End If
        End If
    NomFichier = Dir()
    [b]msgbox(nomfichier)[/b]
    Loop
    MsgBox "il y a eu " & NombreDeFichiers & " fichier(s) ouvert(s) et traité(s)..."
    End Sub
    le nomfichier dans la msgbox que je rajoute est null, c pour ca que le traitement s arrete... soit le dir ne convient pas sois il commence par le deernier fichier... et il faudrait le faire aller au premier au debut... mais je sé pa comment.
    et schwimm le code ke tu m a passé, j arrive meme pas a le compiler lol

  2. #22
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    Citation Envoyé par HiT
    merci swhimm mais il ne connait pas tes private ke tu definis...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
    Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
    Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
    vérifie ton code car ne je déclare pas ces function

  3. #23
    HiT
    HiT est déconnecté
    Débutant
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 20
    Points
    20
    Par défaut
    shwimm ton code est super chaud lol... le code ke j ai mis au dessu pourait fonctionner mais je pense k il y a un pb paske dans le traitement de mes fichiers je copie je supprime donc je rajoute j enleve et ca perturbe le parcours...
    en fait je copie un fichier dans un fichier en changeant le nom et je supprime l originel...
    en fait si je renommais juste j aurais pas ces pb je pense.
    mais je sé pa renommer

  4. #24
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Re,

    Soit plus clair...
    Je viens de comprendre, en fait tu veux un parcours récursif des répertoires.
    C'est plus différent mais c'est faisable:

    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
    'Déclarer au niveau du module
    Dim oFS As New FileSystemObject
    Dim oFolders As Folder
     
    Private Function BrowseFolders(ByVal FolderName As String, ByVal FileExtension As String) As Long
      Dim oFolder As Folder, oFile As File
      Dim FilesListed As String
     
      Set oFolders = oFS.GetFolder(FolderName)
      For Each oFile In oFolders.Files
        If Mid(oFile.Name, InStrRev(oFile.Name, ".") + 1) = FileExtension Then _
          FilesListed = FilesListed & oFS.BuildPath(oFolders.Path, oFile.Name) & vbCrLf
          DoEvents
      Next
     
      If oFolders.SubFolders.Count > 0 Then
        For Each oFolder In oFolders.SubFolders
          DoEvents
          BrowseFolders = BrowseFolders + BrowseFolders(oFolder.Path, FileExtension)
        Next
      End If
    End Function
     
    Private Sub OpenAllFiles()
        BrowseFolders Me!rep & "\", "txt"
    End Sub

    Bon courage

    Argy

  5. #25
    HiT
    HiT est déconnecté
    Débutant
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 20
    Points
    20
    Par défaut
    et est ce que je peux faire ca???


    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
    'Déclarer au niveau du module 
    Dim oFS As New FileSystemObject 
    Dim oFolders As Folder 
     
    Private Function BrowseFolders(ByVal FolderName As String, ByVal FileExtension As String) As Long 
      Dim oFolder As Folder, oFile As File 
      Dim FilesListed As String 
     
      Set oFolders = oFS.GetFolder(FolderName) 
      For Each oFile In oFolders.Files 
        If Mid(oFile.Name, InStrRev(oFile.Name, ".") + 1) = FileExtension Then _ 
          FilesListed = FilesListed & oFS.BuildPath(oFolders.Path, oFile.Name) & vbCrLf 
          DoEvents
    call formatage(oFileName) 
      Next 
     
      If oFolders.SubFolders.Count > 0 Then 
        For Each oFolder In oFolders.SubFolders 
          DoEvents 
          BrowseFolders = BrowseFolders + BrowseFolders(oFolder.Path, FileExtension) 
    call formatage(oFileName) 
        Next 
      End If 
    End Function

  6. #26
    HiT
    HiT est déconnecté
    Débutant
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 20
    Points
    20
    Par défaut
    j ai essayé ce que tu m as donné, j ai collé ce que tu m as di dans un module..
    ensuite j ai essayé ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Command4_Click()
    Dim repertoire As String
    repertoire = Me.rep
    BrowseFolders repertoire & "\", "ps"
    End Sub
    et il me dit que la fonction browsefolders n est pas defini....

  7. #27
    HiT
    HiT est déconnecté
    Débutant
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 20
    Points
    20
    Par défaut
    ca marche... alleluya.....
    je t aime argyronet :p



  8. #28
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bien...

    Tu es très fort(e)...

    Bon, continue à l'être et clôture le dossier...

    A+

    Argy

  9. #29
    HiT
    HiT est déconnecté
    Débutant
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 20
    Points
    20
    Par défaut
    lol c toi ki est fort.... lol pas moi... toutes ces api et tout, tu les trouves ou???

  10. #30
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Inside my head...

    Euh, etaussi la voie de l'expérience et des années...

    A+

    Argy

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Python et explorateur
    Par sschupp dans le forum Général Python
    Réponses: 6
    Dernier message: 01/07/2004, 11h42
  2. Réponses: 2
    Dernier message: 04/11/2003, 12h50
  3. [Composant]Explorateur dossiers
    Par Tuxxy dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 06/03/2003, 12h54
  4. Explorateur de code C
    Par Zero dans le forum C
    Réponses: 14
    Dernier message: 06/06/2002, 09h41

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