[résolu] Association de données

traputaca

XLDnaute Nouveau
bonjour,

j'essaie de créer une base de donnée de fichier (des chemins des fichiers exactement)

j'ai une petite bricole que je n'arrive pas à résoudre.

j'ai en colonne G mes chemins, et en colonne F un nom que j'attribue

exemple : pour un chemin "C:\Users\charles\Desktop\iut\stage\base de donnée\test bdd 24_05.xlsx" j'associe un nom du genre "test base de donnée"

ensuite j'ai une liste déroulante en A2 qui me déroule la liste de mes chemins, et un bouton pour ouvrir le fichier correspondant.

pour le moment cela fonctionne.

j'aimerai avoir un changement, pouvoir avoir dans ma liste déroulante les "noms" et pouvoir faire en sorte que quand je sélectionne mon fichier de nom "test base de donnée" il puisse trouver le chemin correspondant et l'ouvrir !
 

Pièces jointes

  • test bdd 24_05.xlsm
    20.1 KB · Affichages: 31
Dernière édition:

traputaca

XLDnaute Nouveau
Re : Association de données

salut !

merci de ta réponse rapide, mais je n'ai pas bien compris ta réponse .. il faut que je rajoute ton bout de code quelque part dans mon programme ? ou programme a part ? je connais pas la fonction que tu me présente.

merci d'avance
 

titiborregan5

XLDnaute Accro
Re : Association de données

En gros je lui dis de rechercher ta valeur A3 dans la colonne F et de décaler de 1 colonne (pour avoir le chemin complet du classeur)... et d'ouvrir le classeur via le chemin...
Tu le places à la place de ton code actuelle pour ouvrir ton classeur...
 

titiborregan5

XLDnaute Accro
Re : Association de données

C'est à dire qu'avec les fichiers excel??
Voilà mon code pour lister les fichiers et les proposer via un userform

Code:
Sub fichiers()
Sheets("Lancement").Activate

Range("a2").CurrentRegion.ClearContents

lechemin = "S:\Dossier_Gestion\Gestion Financière et comptable\TS save\"
ledossier = "analytique\"
ChDir lechemin & ledossier

NF = Dir(lechemin & ledossier & "*.xls*")
nf2 = Dir(lechemin & ledossier)

ligne = 2
Do While NF <> ""
nom_entier = lechemin & ledossier & NF

        ActiveSheet.Hyperlinks.Add anchor:=Cells(ligne, 1), Address:=nom_entier, TextToDisplay:=nom_entier
        Cells(ligne, 2).Value = FileDateTime(nom_entier)
        Cells(ligne, 3).Value = FileLen(nom_entier)
        ActiveSheet.Hyperlinks.Add anchor:=Cells(ligne, 4), Address:=nom_entier, TextToDisplay:=nf2

ligne = ligne + 1
NF = Dir

Loop

Columns("a:c").AutoFit
Range(Range("A2"), Range("A2").End(xlDown)).Name = "Anal"
UserForm1.Show

End Sub

Si ça peut t'aider...
 

traputaca

XLDnaute Nouveau
Re : Association de données

y'a t'il moyen que tu joigne ton fichiers ?

je voulais dire que a titre d'exemple, j'avais crée deux fichier, un .xlsx et un .pptx et j'ai l'impression qu'avec la commande Workbooks.Open x on ne peux ouvrir que les fichiers xlsx

encore merci de cette rapidité et pour les réponses complètes
 

titiborregan5

XLDnaute Accro
Re : Association de données

Le voilà, en espérant que ça t'aide!

Et effectivement le workbooks.open ne marche que pour les classeurs excel...
Je ne me souviens plus comment on ouvre un autre fichier :s
 

Pièces jointes

  • Analytique vierge 2.xlsm
    20.5 KB · Affichages: 50

traputaca

XLDnaute Nouveau
Re : [résolu] Association de données

j'ai utiliser le code que j'ai fourni ci au dessus, et intégré la fonction que tu ma expliquer,

sa donne :

Code:
Option Explicit

     Private Declare Function ShellExecute Lib "shell32.dll" Alias _
     "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
     String, ByVal lpszFile As String, ByVal lpszParams As String, _
     ByVal lpszDir As String, ByVal fsShowCmd As Long) As Long

     Private Declare Function GetDesktopWindow Lib "user32" () As Long

     Const SW_SHOWNORMAL = 1

     Function StartDoc(DocName As String) As Long
         Dim Scr_hDC As Long
         Scr_hDC = GetDesktopWindow()
         StartDoc = ShellExecute(Scr_hDC, "Open", DocName, _
         "", "C:\", SW_SHOWNORMAL)
     End Function

Sub TEST()
         Dim r As Long
         Dim ledoc As String
         Dim chemin As String
         chemin = Range("aa:aa").Find(what:=Range("a3")).Offset(0, 1).Value
         ledoc = chemin
         r = StartDoc(ledoc)
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 371
Messages
2 087 706
Membres
103 648
dernier inscrit
mehdi kaddaf