Comment utiliser VBA et Excel pour organiser vos fichiers et vos dossiers

WordHerd | 22 février 2017 | 2 min de lecture
Partagez cet article

Si le groupe de fichiers présents sur votre ordinateur n’est pas votre niveau de référence, vous n’êtes pas le seul.

La plupart d’entre nous enregistrons tout dans une ou deux dossiers, mais à mesure que le nombre de fichiers augmente, pourquoi ne pas tirer parti des fonctionnalités d’Excel et de VBA pour les organiser un peu mieux.

Utilisation de l'objet File System pour enregistrer les informations de la bibliothèque dans Excel

Une situation typique sera probablement celle des images que vous avez sauvegardées sur votre ordinateur portable. Nous supposons que les fichiers sont enregistrés dans un seul dossier et que vous souhaitez les organiser dans des dossiers distincts, peut-être en fonction de l’année où l’image a été enregistrée pour la première fois sur votre ordinateur portable. L’Object File System (FSO) peut indexer le contenu d’un dossier en quelques lignes de code VBA.

D’abord, définissez l’emplacement du FSO et le dossier requis. Supposons que toutes les photos se trouvent dans un dossier appelé “ recordsdata ”, qui se situe directement sous le dossier du fichier Excel que vous travaillez.

Dim fso Comme Scripting.FileSystemObject

Dim fld Comme un script.Folder
Dim f
Configurer fso = Nouvelle instance de l’objet Scripting.FileSystemObject
Set fld = fso.GetFolder(ActiveWorkbook.Path & "recordsdata")

En raison de la possibilité pour VBA de déterminer la date à laquelle le fichier a été créé pour la première fois, le code peut extraire les 12 mois qui peuvent être utilisés comme titre de dossier.

Activez la feuille de calcul ("instance").

Vary("a1").Active
Pour chaque f dans fld.Information
yr = Yr(f.DateCréation)

Avec ActiveCell
.Offset(1, zéro). Activer
.Worth = f.Title
.Offset(zero, 1) = CStr(yr)
Terminez par
Suivant

La sortie du code peut ressembler à ceci dans votre feuille de calcul.

photo1.jpg, 2010

photo2.jpg, 2008
photo3.jpg, 2007

La procédure suivante consiste à créer une nouvelle archive basée sur l’année, en procédant à une liste des éléments, puis à copier l’image dans le nouvel emplacement.

var( "a1").activer

set rng=activeCell.currentRegion
Pour chaque f dans rng.Rows
fromPath = ActiveWorkbook.Path & "recordsdata" & f.Columns(1)
toPath = ActiveWorkbook.Path & "" & f.Columns(2) & ""

Si le dossier existe déjà, nous copiéons l’image tout neuf dans ce dossier ; si c’est un nouveau “ 12 mois ”, nous créons un nouveau dossier.

Si Not fso.FolderExists(toPath) alors

fso.CreateFolder à path
Terminer si
fso.CopyFile Supply:=fromPath, Destination:=toPath
Suivant

Dans ce cas, le code copie les fichiers en fonction de l’année de création du fichier, mais il peut également être adapté pour utiliser le mois ou d’autres variables spécifiques à une date. De plus, les classifications pouvant être utilisées comme noms de nouveaux dossiers peuvent être ajoutées manuellement dans le tableau de bord avant le processus de copie.

Résumé

Excel dispose de nombreuses fonctionnalités qui améliorent votre productivité. Cet extrait de code montre comment utiliser VBA d'une manière unique pour travailler avec le système de fichiers et l'organisation des dossiers.

Prêt à migrer votre site web ?

Commencez par une évaluation gratuite et sans engagement de votre site web. Nous examinerons votre projet, recommandons une plateforme de destination et vous fournirons un devis clair.

Garantie de perte de données nulle
Conservation complète des référencements et mappage des redirections
Livraison dans les délais et dans les limites budgétaires
Des spécialistes dédiés de la plateforme, et non des généralistes

Parlez-nous de votre site web

"*" indique des champs requis

Ce champ est destiné à des fins de validation et doit rester inchangé.
Nom*