VBA - Problème de raisonnement

Résolu
zivodul8 Messages postés 248 Statut Membre -  
zivodul8 Messages postés 248 Statut Membre -
Bonjour,

J'ai un souci d'ordre "logique". Voilà, ce que je souhaite faire est simple en soit mais je ne vois pas qu'elle est la marche à suivre en VBA :

- dans un certain dossier (dont je connais le nom) ce situe un certain nombre de classeur Excel (dont je ne connais pas le nombre excat ni les noms des classeurs Excel)

- chaque classeur de ce dossier doit être classé dans une arborescence (assez complexe) en fonction du nom du classeur (qui sera divisé pus tard pour le choix du dossier de destination final), et cela uniquement grâce à une macro VBA

Je ne vois pas comment procédé pour arriver à ce résultat et nous avons pourtant était à plusieurs à y réfléchir :S

Merci par avance pour votre aide !!

5 réponses

  1. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    un petit exemple,
    la variable chainePath c'est le chemin pour le dossier.

    i contiendra le nombre de fichier
    tabloFichier contiendra tous les noms de fichier

    Option Explicit
    
    Public chainePath As String
    Public TabloFichier() As String
    
    
    Sub OuvreDossier()
    
    chainePath = "C:\Data"
    
     Call AfficheListeFichier(chainePath)
    
    End Sub
    
    
    
    Public Sub AfficheListeFichier(specdossier)
        Dim I As Integer ' compteur de fichier
        Dim fso, oDossier, oFichier, Fichier
        Dim s As String
        Dim nom_Fichier As String
        I = 0
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set oDossier = fso.getfolder(specdossier)
        Set oFichier = oDossier.Files
        ReDim TabloFichier(I)
        For Each Fichier In oFichier
            ReDim Preserve TabloFichier(I)
            nom_Fichier = Fichier.Name
            TabloFichier(I) = Fichier.Name
            I = I + 1
        Next
       s=msgbox("il y a " i & " fichier(s) ")
    End Sub
    0
  2. zivodul8 Messages postés 248 Statut Membre 22
     
    Ok d'accord, je vois ce que tu veux faire. Je n'y avais pas pensé, pardon, je n'avais pas les connaissances pour y penser.

    Idem pour les (multiples) problèmes du style "Un composant ActiveX ne peut pas créer d'objet" et bien d'autre.

    Donc ici en tout cas, j'ai un problème d'ActiveX, et je ne ne vois pas du tout à quoi cela correspond!

    Merci.
    0
  3. zivodul8 Messages postés 248 Statut Membre 22
     
    UPDATE!

    Bon finalement, il n'y pas de souci... avec Office 2007 version Windows!
    Mais il faudrait quand même que je puisse travailler sur la version Mac 2011 d'Office :S

    Donc je suis toujours preneur pour une solution à mon problème d'ActiveX !
    0
  4. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    je crois que tu aurais du préciser cette infos ...Version Mac 2011.

    La structure n'est pas la même, et je ne sais pas si tu peux utiliser "fileSystemeObject" mais il est possible de le faire avec la fonction "Dir"
    l'aide excel dit...
    Sur le Macintosh, "HD:" désigne le lecteur par défaut et les éléments du chemin d'accès sont séparés par deux points (:) et non par des barres obliques inversées
    regarde sur l'aide de dir il y a un exemple.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zivodul8 Messages postés 248 Statut Membre 22
     
    Oulaa... J'ai déjà du mal avec le VBA alors avec les Dir... Finalement je vais travailler exclusivement sur PC, ça marche super bien.

    Merci à toi et vive Windows!!!!
    0