VBA - Problème de raisonnement [Résolu/Fermé]

Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
- - Dernière réponse : zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
- 13 mai 2011 à 10:18
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 !!
Afficher la suite 

5 réponses

Messages postés
1184
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
230
0
Merci
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
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
19
0
Merci
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.
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
19
0
Merci
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 !
Messages postés
1184
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
230
0
Merci
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.
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
19
0
Merci
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!!!!