Creation de base de données

Résolu/Fermé
sangui - 24 mars 2010 à 13:26
 sangui - 24 mars 2010 à 16:33
Bonjour,

Je souhaite si cela n'est pas trop difficile vu mes piètre connaissance d'Excel, céer une base de donnée lié à un répertoire :

je souhaite faire un tableau excel reprenant tous les projets et créer une commande liée créant un répertoire au nom du projet + d'autre info reprise dans le tableau ainsi que des sous répertoire dans ce meme dossier.
Je souhaite aussi que chaque projet du tableau soit lié avec le répertoire précèdemment créé.

Merci de me dire si cela est envisageable... ou si je dois opter pour un traiement plus classique (manuel).

Merci d'avance de m'apporter vos solutions et conseil.

Cordialement
Sangui
A voir également:

6 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
24 mars 2010 à 15:12
Re
Alors tout d'abord, tu ouvres ton classeur excel contenant tes projets.
J'ai supposé dans la macro que tes projets sont listés en colonne A, les sous répertoires en B, C, D etc...
Cf fichier exemple ici

Le code (à placer dans un module (sous ta feuille excel taper ALT + F11 puis insertion/modules)):

Dim Chemin As String

Sub creer_rep_et_sous_rep()
' déclaration des variables amenées à stocker les noms des dossiers et sous dossiers
Dim nomrepertoire, nomsousrepertoire As String
' déclaration des variables i & j pour boucler sur les cellules
' & derlig et dercol pour connaitre la dernière ligne et dernière colonne du tableau
Dim i, j, derlig, dercol As Integer
'on appelle la fonction parcourir pour choisir le répertoire ou seront créés nos dossiers
Call parcourir
'dernière ligne du tableau
derlig = Range("A65536").End(xlUp).Row
'derniere colonne du tableau
dercol = Range("A1").SpecialCells(xlCellTypeLastCell).Column
'de la ligne 2 à la dernière ligne
For i = 2 To derlig
'première colonne (pour la création du répertoire "projet")
'nom du répertoire = contenu cellule(i, colonne A)
nomrepertoire = Cells(i, 1)
's'il n'y a rien dans la cellule, on ne fait rien
If nomrepertoire <> "" Then
'test si le répertoire existe
If RépertoireExiste(Chemin & "\" & nomrepertoire) = False Then
's'il n'existe pas, on créé le lien hypertexte
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, j), Address:=Chemin & "\" & nomrepertoire
'on créé le répertoire
MkDir Chemin & "\" & nomrepertoire
End If
End If
'boucle sur les colonnes de 2 à la dernière pour créer les sous dossiers
For j = 2 To dercol
nomsousrepertoire = Cells(i, j)
If nomsousrepertoire <> "" Then
If RépertoireExiste(Chemin & "\" & nomrepertoire & "\" & nomsousrepertoire) = False Then
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, j), Address:=Chemin & "\" & nomrepertoire & "\" & nomsousrepertoire
MkDir Chemin & "\" & nomrepertoire & "\" & nomsousrepertoire
End If
End If
Next j
Next i
End Sub
'http://www.commentcamarche.net/faq/sujet-16109-excel-convertir-fichier-s-csv-xls
Sub parcourir()
Dim objShell As Object, objFolder As Object, oFolderItem As Object
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
    On Error Resume Next
    Set oFolderItem = objFolder.Items.Item
    Chemin = oFolderItem.Path
    Set objShell = Nothing
    Set objFolder = Nothing
    Set oFolderItem = Nothing
End Sub
'http://frederic.sigonneau.free.fr/code/Fichiers/RepertoireExiste.txt
Function RépertoireExiste(emplacement As String) As Boolean
  On Error Resume Next
  RépertoireExiste = GetAttr(emplacement) And vbDirectory
End Function

1
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
24 mars 2010 à 13:37
Salut,
Si j'ai bien compris, tu veux, sur une feuille excel :
- faire un listing de tous tes projets.
- qu'en cliquant sur un bouton, par exemple, VBA te créé un répertoire au nom de ton projet et des sous répertoires "infos"
Est ce bien cela?
0
Oui c'st le principe que je recherche avec apres un lien vrs ce meme repertoire précèdemment créé :-)
0
ausoch Messages postés 28 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 13 juin 2015 3
Modifié par ausoch le 24/03/2010 à 13:59
tu peut aussi utiliser access
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malheureusement ce n'est pas autorisé sur mon site de travail :-( deplus je ne sais pas dutout m'en servir :-)
0
Merci encore
0