Liste déroulante avec un autre classeur

  • Initiateur de la discussion Initiateur de la discussion léti07
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

léti07

Guest
Bonjour à tous 🙂

Mon probleme est le suivant, j'ai créer une liste déroulante dans mon classeur "Matrice" qui trouve sa source dans le classeur "description".
J'ai fait : Insertion --> nom --> definir , et j'ai étais cherché ma liste dans "description"
Ensuite j'ai fait : Données --> Validation, et la j'ai choisi liste
Ma liste déroulante fonctionne mais je dois laisser mon classeur "description" ouvert, dés que je le ferme il n'y a plus rien dans ma liste.

Donc ma question est la suivante, comment faire pour garder les données de ma liste avec le classeur "description" fermer?😕

Je travaille avec Excel 2002

Merci d'avance pour votre aide
 
Re : Liste déroulante avec un autre classeur

Bonjour,

Voir exemple en PJ

-Les données sont dans un classeur fermé DVSource.xls
-Elles sont copiées dans l'onglet Liste du classeur où est situé le menu Données/Validation

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$2" Then
repertoire = ThisWorkbook.Path & "\"
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("Liste").[A2:A1000].ClearContents
Sheets("Liste").[A2].CopyFromRecordset rs
End If
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

Re : Liste déroulante avec un autre classeur

🙁 j'arrive pas à faire fonctionner le code.

Rien ne se met dans ma liste 😕
dans mon classeur "description", j'ai rajouté
MaBD (en C2) et en D2 j'ai mis "=Feuil4!$A$5:$A$506"

ma feuille s'appelle "Feuil4", le nom de ma colonne est "liste" est se trouve en A5 et ma liste commence donc en A6 jusqu'a A506.

ensuite dans mon classeur "Matrice", j'ai créer une feuille qui s'appelle "liste" et j'ai remis exactement la même chose que l'exemple (DVClasseurFerme)

Dans la feuille "Feuil1" (la ou dois apparaitre ma liste), j'ai mis le code.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Target.Address = "$A$B$6" Then
   repertoire = ThisWorkbook.Path & "\"
   Dim rs As ADODB.Recordset
   Set cnn = New ADODB.Connection
   cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & repertoire & "\" & "descriptionExpasy.xls"
   Set rs = cnn.Execute("SELECT liste FROM MaBD where liste<>''")
    Sheets("Liste").[A2:A506].ClearContents
   Sheets("Liste").[A2].CopyFromRecordset rs
  End If
End Sub

Ma liste déroulante doit se trouver dans la cellule AB6

Si quelqu'un peux me dire ce que j'ai fait de travers ca serait super gentil
merci d'avance
(je retourne me creuser la tete pour trouver mon erreur 🙄)
 
Re : Liste déroulante avec un autre classeur

c'est bon j'ai trouver mon erreur,

j'avais juste oublier de créer MaBD (nom-->définir) dans ma classeur "description".

Merci de m'avoir aider.
Et je vous donne rendez-vous à la prochaine question 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
297
Réponses
10
Affichages
472
Réponses
8
Affichages
793
Retour