Bonjour à tous,
Je cherche à ouvrir un fichier Project depuis excel.
J'avais comme idée de trouver le fichier via une boite de dialogue, d'inscrire son chemin sur ma feuille excel (juste pour info pour savoir à partir de quel planning on travail)
ensuite de récupérer certaines données pour faire un tableau récapitulatif à la semaine dans excel mais je n'en suis pas encore là

j'ai essayé la boite XLdialogueOpen mais je n'arrive pas à ouvrir le fichier

j'ai trouvé cette fonction que je n'arrive pas à faire fonctionner

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
 Function ChoixDossierFichier(SelType As Byte) As String
 
     Dim Chemin As String, Msg As String
     Dim FlagChoix As Long, NbPoint As Integer
   Dim objShell As Object, objFolder As Object
 
     If SelType = 0 Then
          FlagChoix = &H1
          Msg = "Sélectionner un dossier :"
     Else
          FlagChoix = &H4000
          Msg = "Sélectionner un fichier :"
     End If
 
     Set objShell = CreateObject("Shell.Application")
     ' &h1
' 1er paramètre toujours 0 (zéro). Il représente le handle de la fenêtre parent     ' &h1
' 2ème paramètre Titre de la boite, en dessous de la barre de titre     ' &h1
' 3ème paramètre options de BrowseForFolder     ' &h1
' 4ème paramètre Facultatif. Répertoire de début d'exploration     On Error Resume Next
     Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
     ' &h1
'Si l 'objet retourné est valide, on teste son contenu (item.title)
     'Si on a sélectionné la racine d'une partition, il se compose du nom de la partition,
     ' suivi de sa lettre et ":" entre parenthèses
     NbPoint = InStr(objFolder.Title, ":")
     If NbPoint = 0 Then
          ' &h1
'Sinon, il se compose du nom du dossier uniquement, sans le chemin précédent
          'On récupère ce chemin à l'aide des propriété et méthode ParentFolder.ParseName
          Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
     Else
          ' &h1
' si racine on récupère la lettre du lecteur et les 2 points
Chemin = Mid(objFolder.Title, NbPoint - 1, 2)
     End If
     ChoixDossierFichier = Chemin
End Function
J’essaie ensuite d'exécuter la fonction sans aucun résultat

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Private Sub CommandButton1_Click()
 
choix = 0
ValeurString = ChoixDossierFichier(choix) 'Type d'argument Byref incompatible ?
Range("B1") = ValeurString 'Pour écrire le chemin dans le tableau (je n'ai pas encore le code pour ouvrir le fichier Project)
End Sub
Un petit coup de main serait le bienvenue car je bloque vraiment

Merci d'avance pour votre aide précieuse