Afficher données d'une autre page dans un tableau

Bonjour a tous

Je suis tout juste débutant d'excel et de VBA et je cherche un moyen d'afficher les données qui si trouve dans certaines feuilles dans un tableau se trouvant dans une autre.

Je m'explique, mon fichier contient 4 feuilles :

List_mag qui contient une liste de nom de magasin

Magasin 1 qui contient un tableau avec des informations sur les produits de ce magasin

Magasin 2 meme chose

Magasin 3 meme chose

Affichemag : qui contient le meme tableau que pour les 3 onglets précédents mais vide cette fois et un menu déroulant (active X)

Le but étant de sélectionner dans la liste déroulante le nom d'un magasin et que dans le tableau en dessous s'affiche les données du magasin.

Pour le moment je n'ai réussi que a créer que le menu déroulant donc autant dire pas grand chose

Le fichier en question

14liste-mag-test.xlsm (27.61 Ko)

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Il serait plus judicieux que les noms de la feuilles ''list_mag'' soient exactement les mêmes qu ceux des noms de feuilles...

Bye !

Bonjour,

Voici un exemple sans vba.

Cdt.

C'est exactement ça !

Merci beaucoup pour vos réponses rapides

Je vais m'orienter vers la solution avec VBA.

Je vais voir si je comprend le code et au besoin je reviens vers vous si je ne comprend pas tous .

(est ce que je dois passer le probleme en résolu meme si il me reste potentiellement des questions sur les solutions proposées?)

est ce que je dois passer le probleme en résolu

Mais oui, tu peux. L'accès au sujet sera toujours possible.

Bye !

Je reviens vers vous car j'aimerais comprendre comment les feuilles sont liés au Combobox dans le code.

Si j'essaye d'ajouter une nouvelle feuille Magasin 4, que j'ajoute Magasin 4 dans ma Feuille list_mag à la suite de la liste et que j'essaye d'afficher ce nouvel ajout via ma feuille AfficheMag j'ai l'erreur suivante : "Erreur d'éxecution 9, L'indice n'appartient pas a la sélection.

L'erreur semble etre sur la ligne :

Sheets(Replace(ComboBox1, " ", "")).Range("A1").CurrentRegion.Copy Range("B7")

J'ai essayé diverse modifications sur le .Range ("A1") mais sans succès

Il te faut encore changer la propriété "ListFillRange" de ton ActiveX :

OK ?

Bye !

capture

J'avais bien pensé a modifier la listFillrange de mon active X.

J'ai bien un choix "Magasin 4" dans ma liste déroulante mais quand je le selectionne j'ai l'erreur en question.

J'ai essayé de chercher par moi meme mais en tant que debutant je ne comprend pas encore tres bien le VBA donc pour le moment je tourne en rond

Ok le probleme venait du fait que lorsque j'ajoutais des nouvelles feuilles et leur nom dans ma liste il y avait des espaces dans le nom.

En remplaçant les espaces par des "_" aucun de problème.

Malgrès tous je ne comprends toujours pas comment ce petit code va chercher les données d'un onglet apres avoir trouvé son nom dans la liste.

code :

Option Explicit

Dim f As Worksheet

Private Sub ComboBox1_Change()

Sheets(Replace(ComboBox1, " ", "")).Range("A1").CurrentRegion.Copy Range("B7")

End Sub

Bonjour

je ne comprends toujours pas comment ce petit code va chercher les données d'un onglet apres avoir trouvé son nom dans la liste.

code :

Private Sub ComboBox1_Change()
    Sheets(ComboBox1.Value).Range("A1").CurrentRegion.Copy Range("B7")
End Sub
Ça, c'était parceque les noms sur la feuille "list_mag", et donc dans le ComboBox ont un espace alors que les noms d'onglets n'en ont pas. Pour qu'ils soient semblables, if faut chercher un nom d'onglet sans espace.

Mais si les noms de la feuille "list_mag" et les noms d'onglets sont rigoureusement es mêmes, avec ou sans espace, tu peux simplifier l'instruction ainsi :

Private Sub ComboBox1_Change()
    Sheets(ComboBox1.Value).Range("A1").CurrentRegion.Copy Range("B7")
End Sub

OK ?

Bye !

Rechercher des sujets similaires à "afficher donnees page tableau"