Créer X tableaux les uns par dessus les autres

Bonjour à tous,

Je vous expose mon souci. J'ai créé une matrice sur Excel que je vais vous simplifier pour n'obtenir que la fonction dont j'ai besoin pour l'incrémenter dans ma matrice complexe.

Alors voila, pour faire simple j'ai un tableau à double entrées et je note différentes solutions en fonction de leurs performances vis à vis des critères.

C'est relativement simple, cependant !

Je dois disposer de 2 menus déroulant qui me permettent de créer un nouveau corps du tableau vide de notation pour pouvoir effectuer une nouvelle notation différente en fonction des 2 menus déroulant.

Typiquement voici un exemple simple :

matrice

Sur cet exemple je choisi les critères dans les 2 menus déroulants en haut (ici partie avant du véhicule et la pièce est la roue droite) le tableau des solutions en fonction de leurs réponses aux critères permet donc de renseigné tout ceci pour cette configuration.

En revanche si je met cette fois ci : partie = arrière + pièce = cardan, j'aimerai que le tableau de valeurs numériques se remette à zéro afin d'effectuer une nouvelle notation tout en conservant toujours les mêmes solutions et les mêmes critères en données d'entrée du tableau.

Enfin, dernière difficulté, si je reviens dans mes menus déroulants sur : partie avant, pièce roue droite, je veux récupérer la notation qui a était effectuée précédemment.

Voila le principe que je veux mettre en oeuvre pour l'ensemble des combinaisons possibles (admettons qu'il y ait 7 parties et 10 pièces, alors je veux pouvoir créer 10*7 = 70 tableaux complétés de valeurs différentes mais enregistrer ces valeurs en fonction des choix dans les menus déroulants afin de pouvoir les retrouver en sélectionnant ce que je veux voir dans mon menu déroulant...)

J'espère que c'est clair et surtout que vous allez pouvoir me fournir de l'aide car je pense que cet outil aura une réelle valeur ajoutée !

Merci beaucoup d'avance !

Pour vous donner une idée de ce que ça donnerais (d'autres possibilités alternatives peuvent aussi exister) voici en gros ceux à quoi j'ai pensé, c'est un peu lourd mais si il n'y a pas trop de variable je pense que c'est réalisable :

En gros,

Si menu déroulant 1 (partie) = avant et menu déroulant 2 (pièce) = roue droite,

Alors créer un tableau dont les cellules B10 à G25 sont vides,

// Laisser remplir le tableau avec des valeurs manuellement //

Enregistrer les valeurs dans le tableau nommé "avantrouedroite".

Si menu déroulant 1 (partie) = arrière et menu déroulant 2 (pièce) = cardan,

Alors créer un tableau dont les cellules B10 à G25 sont vides,

// Laisser remplir le tableau avec des valeurs manuellement //

Enregistrer les valeurs dans le tableau nommé "arrièrecardan".

etc etc avec toutes les combinaisons possibles des menus déroulants 1 et 2

et ensuite pouvoir ressortir ces valeurs enregistrée dans les tableaux "avantrouedroite", "arrièrecardan",... en sélectionnant ce que l'on veut voir en sélectionnant ce qu'il faut dans les menus déroulant.

Je ne sais pas si ça peut paraître clair à quelqu'un...

Merci encore

Bonjour et bienvenu(e)

Une solution à tester

Bonjour,

Merci pour le document j'y ai jetté un coup d'oeil mais ça ne répond pas totalement à mon problème.

J'aimerai effectivement que ça remonte les données comme dans votre tableau en haut à gauche mais que tous les tableaux soit en gros supperposé et s'enregistres en fonction du choix fait dans les 2 cases (mois et jour).

Sinon, oui ça peut marcher mais je devrais créer un tableau pour chaque configuration comme vous et ça deviendrait très lourd surtout lorsque les gens auront besoin de modifier une valeur...

L'intérêt serait que les gens sélectionnent dans votre exemple un jour et un mois, s'il y a des données, elles apparaissent, sinon le tableau est vide et il suffit de le remplir. Une fois les données saisies, elles s'enregistrent. On pourrait alors regarder les données correspondantes à une autre combinaison mois/jour et si on revient sur la combinaison que nous avions renseigné précédement, les données entrées réaparaissent.

En tous cas merci pour le soutien rapide !

Si d'autres personnes ont des idées je suis preneur, sinon je ferais donc un onglet par combinaison, ce sera lourd mais au moins le risque de se tromper de combinaison sera amoindri...

Re-bonjour,

Après moult réflexions je pense aller au plus simple.

J'ai continué mes recherches sur le net et je pense faire comme ceci :

L'onglet 1 de mon doc Excel me renvoie différents onglets qui sont les suivants :

Onglet 2 qui est en fait le tableau rempli de notes pour la pièce 1

Onglet 3 qui est le tableau rempli de notes pour la pièce 2 etc etc pour l'ensemble des pièces.

Sur l'onglet 1 j'ai une case dans laquelle je dois inscrire la pièce que je souhaite visualiser. J'ai donc copier/coller la formule suivante pour me renvoyer les valeurs :

=SI($H$2="Pièce1";Pièce1!I9;SI($H$2="Pièce2";Pièce2!I9;SI($H$2="Pièce3";Pièce3!I9;"")))

Evidemment la l9 ici change lorsque j'étant la formule et ça marche nickel. Ensuite il me suffit de bloquer la saisie sur l'ensemble de l'onglet 1 sauf la case à renseigner (pièce1, pièce2, pièce3,...).

Donc là avec ce que j'ai c'est parfait ça me permet de cacher les onglets correspondant aux pièces pour éviter que les gens ne modifient quelque chose et fassent tout planter... En gros ils saisissent ce qu'ils veulent voir en H2 dans le 1er onglet et ça s'affiche, ils n'ont pas à modifier le doc.

Maintenant j'aimerai que ce soit évolutif ! Si demain je donne l'authorisation à quelqu'un de modifier un onglet de pièce, je veux que cet onglet modifié puisse tout de même apparaître dans l'onglet 1 si on l'appel.

En fait, si la personne se contente de modifier le tableau sans en modifier la structure pas de problème.

En revanche si il faut ajouter 1 ligne, 1 colonne, modifier la mise en forme d'une cellule ou quoi ces modifications n'apparaissent pas dans mon onglet 1 (la formule avec le SI renvoie bien la valeur de la cellule appelée mais pas sa mise en formet, sa taille etc)...

Apparemment il faut utiliser VBA, avez vous des idées de code ?

Pour résumer :

Je veux bloquer mon onglet 1 sur toute les saisies sauf la case H2 qui permet d'appeler les données d'une pièce disponible sous un autre onglet.

L'ensemble de l'onglet1 fait alors apparaître les données de l'onglet appelé mais il est impossible de saisir quoique ce soit dedans pour éviter de faire planter le document...

L'onglet 1 muni d'une ligne de saisie (juste pour la case H2) fait ensuite apparaître dans l'ensemble de ses autres cellules, les données qui sont disponibles dans les cellules de l'onglet appelé par H2 avec leurs valeurs, formats, mises en forme etc etc

Merci beaucoup d'avance !

Je reviens car je pense qu'il est possible de faire cette manip' par une macro simple que je ne sais pas faire...

Voila les données que je compte utiliser : les noms des onglets qui sont onglet1 = 'test', onglet 2 = 'pièce1', onglet 3 = 'pièce2' etc etc suivant le nombre d'onglet.

Sur le papier et en français la manip' que je souhaite faire est la suivante :

SI H2 = pièce 1

Alors copier/coller les cellules A3 à IV65536 (la plage de cellules max pouvant contenir des données) de l'onglet 'pièce1' avec leur mise en forme vers les cellules A3 à IV65536 de l'onglet 'test' (onglet dans lequel je veux faire apparaître ces valeurs).

Sinon,

SI H2 = pièce 2

Alors copier/coller les cellules A3 à IV65536 de l'onglet 'pièce2' avec leur mise en forme vers les cellules A3 à IV65536 de l'onglet 'test'.

Sinon, etc etc suivant le nombre d'onglet dans lequel j'ai des données.

Fin SI.

Après je n'ai plus qu'à cacher mes onglets source si je veux éviter que les gens ne les modifient, ou alors mettre un code pour accéder à la modif. Et enfin je vérouille l'onglet 'test' sauf la case H2 qui doit être renseignée par l'utilisateur.

Au final l'utilisateur accède à l'onglet 'test', il tape le nom de la pièce qu'il souhaite voir dans H2 et tout le reste de l'onglet 'test' est vérouillé, impossible de taper quoique ce soit. Enfin, une fois la saisie effectuée, la macro renvoie le tableau de données disponibles dans l'onglet demandé avec sa mise en forme etc.

Bon je fini par faire un monologue mais bon si jamais ça peut servir à quelqu'un un jour...

Je me suis débrouillé avec une macro simple associée à un bouton.

La macro est donc la suivante :

Sub Macropiece1()

Range("H2:L2").Select

Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = "Pièce 1"

Sheets("piece1").Select

Range("A3:IV65536").Select

Selection.Copy

Sheets("test").Select

Range("A3").Select

Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:= _

xlNone, SkipBlanks:=False, Transpose:=False

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

End Sub

En gros cette macro est appelée par un bouton : Ca écrit dans la case H2 que je visualise la Pièce 1, 2 ou 3 etc

Ca fait un copier de mon onglet contenant le tableau de données de ma pièce 1, 2 ou 3 et ça le colle dans l'onglet 'test' avec l'ensemble de la mise en forme donc si je rajoute ou supprime une ligne, une colonne, si je change la police, la couleur ou n'importe quoi ça me fait la modif dans l'onglet 'test' qui me permet de visualiser ce que je veux.

Mon dernier souci et j'espère qu'il est réalisable c'est que j'aimerai implémenter ma macro avec une ligne de code me permettant de copier/coller également tous les objets présent dans l'onglet que je copie/colle.

Par exemple si je clic sur le bouton 'pièce 1', dans mon onglet 'test' s'affiche alors en H2 que je visionne bien la pièce 1 et toutes les données entrée dans l'onglet 'pièce 1' sont bien affichées comme il faut. Cependant si je créais un graphique, si j'ajoute une image ou je ne sais quoi qui n'est pas inclu dans une cellule, ces objets ne sont pas copier/coller comme les données des cellules...

Comment puis-je faire ?

Il me manque juste la ligne permettant de copier/coller les objets présent sur un onglet vers l'onglet 'test'... Et bien évidemment si demain je rajoute un graphe ou une image à mon onglet 'pièce 1' je veux qu'il s'affiche dans l'onglet 'test' lorsque je clic sur mon bouton appelant ma macro.

J'espère que ce problème là sera plus simple à résoudre !

Rechercher des sujets similaires à "creer tableaux uns dessus"