Mise à jour d'une bdd

Bonjour à toutes et à tous,

je voudrais savoir s'il était possible d'indexer mes fichiers (documents excel, word, pdf) qui sont stockés sur un serveur afin de rendre mon "programme" sur vba plus rapide ? Si oui, comment ?

Merci par avance pour vos réponses

Hello noemie.d et bienvenue,

Ta question n'est pas compréhensible pour le simple terrien que je suis.

De quel "programme" parles-tu?

De quelle "optimisation" parles-tu?

Pourquoi le fait que tes fichiers soient stockés sur un serveur est pertinent dans la demande?

En fait je cherche à faire un programme sur vba/excel qui me permettrait de rechercher mes documents en entrant une partie du nom, l'emplacement, la date de modification et/ou l'auteur du document. Mais j'ai peur que le fait de devoir parcourir chaque sous-dossier de chaque dossier et d'ouvrir chaque fichier rende mon programme trop lent. On m'a alors conseillé d'indexer mes documents et de mettre ces attributs dans des colonnes afin de ne consulter uniquement les colonnes (en gros de faire des mises à jours avant l'utilisation du programme...).

J'ai préciser que mes documents étaient stockés sur un serveur pour préciser qu'il existe un dossier parent commun à tous mes fichiers

Je comprend mieux ton besoin.

Voilà un début de code qui te servira afin de remplir ton tableau. Cette procédure permet, lorsqu'on lui transmet le chemin complet d'un fichier, de récupérer ses informations et de les écrire dans la feuille "Feuil1".

Maintenant ce qui manque et que je ne sais pas réaliser, c'est une boucle qui balaye tous les répertoires et sous répertoires de ton serveur, et pour chaque fichier exécute la procédure ci-dessous. Pour cette partie je laisse donc la main.

Sub ajouterFileDansBase(specfile)

Dim feuilleTravail As String: feuilleTravail = "Feuil1"

 Dim lastLigne As Long: lastLigne = Sheets(feuilleTravail).Cells(Rows.Count, "A").End(xlUp).Row + 1
 Dim fs, f, s
 Set fs = CreateObject("Scripting.FileSystemObject")
 Set f = fs.GetFile(specfile)

 With Sheets(feuilleTravail)
     .Cells(lastLigne, 1) = specfile
     .Cells(lastLigne, 2) = f.DateCreated
     .Cells(lastLigne, 3) = f.DateLastAccessed
     .Cells(lastLigne, 4) = f.DateLastModified
     .Cells(lastLigne, 5) = f.Size
 End With

End Sub
Rechercher des sujets similaires à "mise jour bdd"