Bonjour,
Je viens de trouver cette doc :
Données/Validation
Sur les listes dynamiques tirant leurs donnée d'un fichier fermé.
Or je ne comprends pas trés bien comment cela fonctionne.
Voila ce qui me trouble :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
repertoire = ThisWorkbook.Path & "\"
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & repertoire & "\" & "DVSource.xls"ce qui au final done un DBQ = \toto\tata\lerepertoire\\DVSource.xls
Est-ce normal le \\ ?!

Autre question, peut-on utiliser cette méthode pour un fichier distant qui n'est pas dans le même répertoire que le fichier dans lequel on applique cette macro ?!

J'ai bien entendu essayé et ce, sans succés.

voici mon code :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$B$2" Then
   repertoire = "\Path\..\Test Reporting\"
   Dim rs As ADODB.Recordset
   Set cnn = New ADODB.Connection
   cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & repertoire & "\" & "DVSource.xls"
   Set rs = cnn.Execute("SELECT noms FROM MaBD where noms<>'' ORDER BY noms")
    Sheets("Feuil2").[A2:A1000].ClearContents
   Sheets("Feuil2").[A2].CopyFromRecordset rs
  End If
End Sub
Bien entendu il existe Feuil2 dans mon fichier.

Quelqu'un a une idée ?!