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 ...
1585752334788.png

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
1585752397714.png



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


Ensuite
En B8, une liste avec comme Source =FOURNISSEUR
1585752882836.png

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


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
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.

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
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

Merci
 

Discussions similaires

Réponses
36
Affichages
2 K
Réponses
12
Affichages
537