Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Créer un sous-dosser par Client

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Je me tourne vers nos ténors pour la création de sous dossiers (1 par Client) et je ne vois pas vraiment comment automatiser en codage.

J'ai 2 dossiers pour les Clients :
- Factures qui contient environ 2000 factures,
- Relevés Situation Packs qui contient environ 3500 relevés,

Que ce soit les factures ou les relevés, le nom des fichiers commence toujours pas le nom du Client :
- Truc Sylvie 20210908 Votre Fact Achat Pack,
- Machin Jean-Luc - 18122017 Votre achat Pack Rest 14 RdV,
- Autre Danièle 12082016 2 100,

Pour une bien meilleure visibilité, j'aimerais les regrouper en sous-dossiers clients, c'est dire créer dans le dossier.
- Factures des sous-dossiers au nom de chaque client,
- Relevés des sous-dossiers au nom de chaque client,
ce qui donnerait, photo jointe :

Je pourrais le faire avec mes petites mains lol mais pour presque 6000 documents, je vais y passer le reste de ma vie.

Auriez-vous une solution = clic et youpi, c'est fait lol
Ce serait génial, mais est-ce possible ?
Merci déjà pour m'avoir lu...
 
Dernière édition:
Solution
Bonjour Lionel, le forum,

Après avoir créé les sous-dossiers avec la macro du post #19 il est facile d'annuler l'opération en détruisant les sous-dossiers avec cette macro :
VB:
Sub Detruire_dossiers()
Dim chemin$, a, fso As Object, dossier, sf As Object, fichier As Object
chemin = ThisWorkbook.Path & "\"
a = Array("Factures", "Relevés Situation Packs")
Set fso = CreateObject("Scripting.FileSystemObject")
For Each dossier In a
    For Each sf In fso.GetFolder(chemin & dossier).SubFolders
        For Each fichier In sf.Files
            fso.MoveFile chemin & dossier & "\" & sf.Name & "\" & fichier.Name, chemin & dossier & "\" & fichier.Name
        Next fichier
        RmDir chemin & dossier & "\" & sf.Name 'supprime le sous-dossier
Next...
Bonjour Lionel, le forum

Bien sur que c'est possible mais il faudrait quelques précisions.
les types de fichiers à archiver, quelques fichiers exemples bidons, ce serait pas mal
l'emplacement des dossiers d'origine et de destination, disque dur local ou réseau, Onedrive simple ou partagé, sharepoint attaqué uniquement en réseau ou en drive partagé ?
copie ou déplacement des fichiers ?
Je déplace ta discussion dans le forum Excel.

Cordialement, @+
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

C'est vraiment une très mauvaise idée.
Il serait plus judicieux de normaliser tes noms de fichiers, à mon avis.

Question tout de même...
Tu n'as vraiment que ces 3 formats de noms ???
Nom prénom aaaammjj Votre Fact Achat xxx
Nom
prénom - jjmmaaaa Votre achat Pack xxx
Nom
prénom jjmmaaaa xxxx
 
Dernière édition:

Laurent78

XLDnaute Occasionnel
Bonjour à Tous,

Je viens de relire plusieurs fois la question de départ, et j'ai bien l'impression que ce n'est pas un problème Excel. De plus, il semblerait qu'il s'agisse juste d'une opération One shot, non répétitive, à faire une seule fois.

Peut-être qu'un "simple" batch peut faire l'affaire (for, md, mov, robocopy, ...)

On verra les précisions de ce soir.
Bonne journée
 

TooFatBoy

XLDnaute Barbatruc
Il dit que, vu que le classement des fichiers ne doit être fait qu'une seule fois, tu peux le faire avec un fichier batch (un .bat).

Un .bat contient des instructions "DOS". C'est un peu comme du VBA, mais en beaucoup plus compliqué.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonjour
ce serait très simple a faire en fait
mais a quoi servirait de faire un sous dossier nomclient dans dossier_facture pour y mettre la facture
et un autre sous dossier dans dossier_relevé.... pour y mettre le fichier achat ou relevé ou je ne sais quoi

si tu me dis je fait un sous dossier nom de client avec dedans le fichier facture et le fichier achat là oui je comprendrais

sans ça tu ne fait que complexifier l’accès par vba au fichier
 

Usine à gaz

XLDnaute Barbatruc
Bjr patricktoulon
Merci d'être là toi aussi.
- Dossier Factures :
Je mets dans ce dossier les factures d'achat de mes Clients pour des packs de 10 à 100 RdVs,

- Dossier Relevés Situation Packs :
Je mets dans ce dossier les Relevés des RdVs faits pour mes Clients pour suivre la consommation des packs achetés,
 

patricktoulon

XLDnaute Barbatruc
re
si tu veux ok mais je relève déjà un soucis conceptuel
qui remonte a la création des fichier
dans ton énoncé tu dis comme exemple
- Truc Sylvie 20210908 Votre Fact Achat Pack,
- Machin Jean-Luc - 18122017 Votre achat Pack Rest 14 RdV,
- Autre Danièle 12082016 2 100,
hors dans une boucle sur fichier pour récupérer le nomprenom daniel et sylvie ça ira mais jean luc on va avoir un problème avec le tiret tout du moins il faudra trifouiller le string pour éliminer le tiret avant la date
et je suppose que l'on va trouver encore d'autres trucs du genre dans le nommage de tes fichiers
 

Usine à gaz

XLDnaute Barbatruc
Judicieuse remarque
Il faudra d'abord que je renomme mes fichiers pour qu'ils soient cohérents.
J'y ai pensé, c'est pour cela que je mettrai au point ce soir.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Pour tous vous saluer ,
@patricktoulon

Trouver le nom et le prénom, c'est relativement facile (ça s'arrête à priori avant le premier chiffre), on ôte tout ce qui n'est pas lettre, on ôte les accents, on supprime les doubles espaces, etc.
Mais comme tu dis, on est pratiquement certain d'avoir du plus étrange (comme des inversions nom et prénom ou autres) mais ça peut se tenter...
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…