Copier un tableau en fonction d'une cellule.

noobnan

XLDnaute Nouveau
Bonjour,

Je souhaite a partir d'un menu déroulant proposant 5 choix, afficher un tableau variant selon les réponse.
Les différent tableau seront sur un autre feuille.

En simple je cherche une fonction permettant de copier un groupe de cellule dans un endroit définie a partir d'une valeur dans une variable (mon menu déroulant).

C'est compréhensible ? xD
Merci d'avance.
 

bruno66

XLDnaute Occasionnel
Re : Copier un tableau en fonction d'une cellule.

bonsoir et bienvenu...
C'est compréhensible ? xd
sujet mis depuis 2 heures...
super mais avec un petit fichier ci joint ce serait plus et meme super comprehensible pour tout le monde
a voir ton fichier
amicalement
 

Modeste

XLDnaute Barbatruc
Re : Copier un tableau en fonction d'une cellule.

Bonsoir nooban,

Va faire un petit tour du côté de la fonction INDIRECT, elle pourrait bien convenir ...

Si tu coinces, un petit fichier exemple permettrait peut-être de préciser (les tableaux sont nommés? Qu'est-ce qui apparaît dans ta liste déroulante, le nom en question, le nom de la feuille, ...??)

Edit: bonsoir bruno66
 

job75

XLDnaute Barbatruc
Re : Copier un tableau en fonction d'une cellule.

Bonjour à tous,

1) Nommer les tableaux comme je l'ai fait.

2) Formule en B12 à tirer à droite et vers le bas :

Code:
=INDEX(INDIRECT(SUBSTITUE($C$2;" ";"_"));LIGNES(B$12:B12);COLONNES($B12:B12))
Fichier (1).

3) Si les tableaux ont des dimensions différentes utiliser :

Code:
=SIERREUR(INDEX(INDIRECT(SUBSTITUE($C$2;" ";"_"));LIGNES(B$12:B12);COLONNES($B12:B12));"")
et utiliser une MFC pour la couleur et les bordures des cellules <> "".

Fichier (2).

A+
 

Pièces jointes

  • Model(1).xlsx
    11.7 KB · Affichages: 28
  • Model(2).xlsx
    11.9 KB · Affichages: 32

noobnan

XLDnaute Nouveau
Re : Copier un tableau en fonction d'une cellule.

Merci pour ta réponse, c'est exactement ce que je veux faire, mais j'arrive pas a le refaire sur mon doc xD.

Les tableau que je veux afficher ne sont effectivement pas tous de la meme taille donc je dois utiliser la seconde solution que tu m'as proposé.

Cependant je n'arrive pas a adapter la formule =S, je suis vraiment une calamité sur Excel...
 

job75

XLDnaute Barbatruc
Re : Copier un tableau en fonction d'une cellule.

Re,

Ce n'est pourtant pas très compliqué, persévérez.

Mais si vous êtes allergique aux formules et aux MFC il y a le VBA.

Voyez cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C2]) Is Nothing Then Exit Sub
Range("B12", Cells(Rows.Count, Columns.Count)).Clear
If [C2] <> "" Then Evaluate(Replace([C2], " ", "_")).Copy [B12]
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Model VBA(1).xlsm
    18 KB · Affichages: 28

job75

XLDnaute Barbatruc
Re : Copier un tableau en fonction d'une cellule.

Re,

Si un tableau n'existe pas (Tableau 4) en feuille DATA la macro précédente beugue.

Pour l'éviter il suffit d'utiliser On Error Resume Next :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C2]) Is Nothing Then Exit Sub
Range("B12", Cells(Rows.Count, Columns.Count)).Clear
On Error Resume Next
Evaluate(Replace([C2], " ", "_")).Copy [B12]
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Model VBA(2).xlsm
    18.1 KB · Affichages: 25

job75

XLDnaute Barbatruc
Re : Copier un tableau en fonction d'une cellule.

Re,

Comme il n'y a pas de formules, le tableau choisi ne se mettait pas à jour si l'on allait le modifier en feuille DATA.

Pour cela il faut ajouter une macro Worksheet_Activate :

Code:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
MAJ
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C2]) Is Nothing Then MAJ
End Sub

Sub MAJ()
Range("B12", Cells(Rows.Count, Columns.Count)).Clear
On Error Resume Next
Evaluate(Replace([C2], " ", "_")).Copy [B12]
End Sub
Fichier (3).

A+
 

Pièces jointes

  • Model VBA(3).xlsm
    18.9 KB · Affichages: 26

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 942
Membres
101 849
dernier inscrit
florentMIG