Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Liste déroulante en cascade avec 2 fichiers

thierry69

XLDnaute Nouveau
Bonjour à tous,

Explications
J’ai créé un fichier « Données.xlsx » où se trouve les onglets suivants :
1/ Onglet « FOURNISSEURS » tableau avec le nom de mes fournisseurs, mes remises et autres renseignements divers. Référence nom « FOURNISSEURS »
2/ Onglet « FOURNISSEUR_1 » tableau avec la référence des produits en colonne A, la désignation des produits en colonne B et le prix en colonne C
3/ Onglet « FOURNISSEUR_2 » Idem
4/ Onglet ...

J’ai crée dans gestionnaire de noms
Nom : FOURNISSEUR
Fait référence à : =FOURNISSEURS!$A$3 :$A$10
En A3 : FOURNISSEUR_1
En A4 : FOURNISSEUR_2
En A5 : FOURNISSEUR_3


Puis
Nom : FOURNISSEUR_1
Fait référence à : =FOURNISSEUR_1!$A$3 :$A$10
En A3 : Produit 1
En A4 : Produit 2
En A5 : Produit 3


Ainsi de suite pour chaque fournisseurs



Dans un autre fichier « matériel.xlsx » j’ai créé dans gestionnaire de noms
Nom : FOURNISSEUR
Fait référence à : =Données.xlsx!FOURNISSEURS


Ensuite
En B8, une liste avec comme Source =FOURNISSEUR

J’arrive bien à choisir mon fournisseur depuis mon autre fichier « Données.xlsx »


Mon problème
Par exemple lorsque je choisi
FOURNISSEUR 1 en B8, je voudrai avoir l’ensemble ces produits exemple Produit 1/Produit 2/Produit 3/Produit 4 en B9
Ou
FOURNISSEUR 2, je voudrai avoir l’ensemble ces produits exemple Produit 1/Produit 2/Produit 3/Produit 4 en B9
et
ainsi de suite

Cela fonctionne lorsque c’est dans le même fichier avec la fonction =INDIRECT(B8) en B9 mais ne fonctionne pas dans 2 fichiers séparés.

Je pense avoir été assez clair.
J’ai fait plein d’essais mais je n’arrive pas à trouver la solution
Je ne suis pas un pro d’Excel et encore moins des macros mais je peux essayer si besoin.

Un grand merci pour votre aide
 

st007

XLDnaute Barbatruc
Bonjour,
Tout est dit : ne fonctionne pas dans 2 fichiers séparés
Au plus facile, mets tout dans le même fichier, avec autant d'onglets que nécessaire
Ou bien, tu te mets aux macro, en effet, tu trouves une macro qui indique dans une cellule le résultat de ta fonction indirect.
 

thierry69

XLDnaute Nouveau

Merci st007 pour ta réponse
Peux tu me dire ou je peux trouver un exemple de macro pour mon problème ?
 

st007

XLDnaute Barbatruc
Bonjour,
question récurrente

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$B$8" And Target.Count = 1 Then
  If [B8] <> "" Then
    Range("B9").Formula = "=INDIRECT(B8)"
    End If
 End If
End Sub
 

thierry69

XLDnaute Nouveau

Merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…