Excel lien avec fonction indirect tri et supp

Isabelle -  
JvDo Messages postés 2012 Statut Membre -
Bonjour,

Bonjour à tous, Bonne année , longue et heureuse vie à vous et votre entourage..

Mon petit souci... (est dans mon fichier joint)

je veux lier deux feuilles c'est presque fait mais ..parcequ'il ya un mais j'ai un probleme avec le tri et les suprression..

Donc la feuil2 est liée à la feuil1 par la formule Indirect suivante et tirée par la pognée: ( plus tard je transmetterai par usrform jusqu'au 65536 )..
- Partie jaune sur votre gauche composé de 3 colonnes : =SI(Feuil1!B18Feuil1!$A$15:$C$21= "";"";INDIRECT(Paramètres!$A$2&"!A15:C21"))
- Partie jaune sur votre Droite 4 colonnes : =SI(Feuil1!$L$15:$O$21= "";"";INDIRECT(Paramètres!$A$2&"!L15:O21"))
- la partie bleu au centre n'est pas liée 8 colonnes ( n'est pas transmise elle est saisie ici directement dans cette feuille2).
Cette Liaison avec Indirect me permet de trouver ici sur cette feuille2 la données saisies dans l'autres feuil1 (avec mise à jour quand il ya des modifs etc..). Donc,
Tout fonctionne bien Sauf le tri... Oui Le Tri, si je trie feuil1 ici dans feuil 2 les partie jaunes (liées se trie aussi mais les colonnes bleus non liées ne suivent pas le tri idem pour la supression).
-Mon souhait est que les colonnes non liées ( donc en bleu restent solidaires des colonnes liées au moment du Tri et au moment de la supression d'un lien de la feuil1 (source) aussi).
Quand on trie, ou on supprime une ligne dans la feuil1 j'aimerai que la ligne entiere ( données liée et non liée) de la feuil2 subisse la même chose.
Merci pour vos propositions / solutions à même de me permettre de faire le lien entre les deux feuilles avec mise àjour et gestion du tri et suppression..(les cellules de la ligne doivent rester solidaires même si la ligne n'est liée que par certaines colonnes. Gros merci
_ isa

A voir également:

13 réponses

JvDo Messages postés 2012 Statut Membre 859
 
Bonjour,

Tu fais un seul classeur avec tes 100 colonnes et tu crées des affichages personnalisés qui te donneront exactement ce que tu vois dans chacun de tes classeurs en masquant les données inutiles.
n'oublie pas de créer une vue "tout_voir" pour retrouver un affichage complet.
Tu auras ainsi une vue "Feuille1" qui t'affichera ce que ton onglet 1 contient et rien d'autre.
Puis une vue "Feuille2" etc....
En fonction de ce sur quoi tu veux travailler, tu sélectionneras ta vue.

Cordialement
1
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
Sauf que ton "fichier joint" n'est pas joint ...
0
Isabelle
 
En effet car je n'ai pas trouvé ou le mettre..helas..(mes mon explication est assez claire toute de même.. ( je dois avoir mal aux yeux à force de chercher une solution à mon souci :-)...
0
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
Non ! Rien ne remplacera jamais un fichier !
Tu crées un lien à l'aide de https://www.cjoint.com/ et tu colles ce lien dans ton message.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Isabelle
 
Tiens je mets le lien que du ficjier je l'avais posé aussi dans un autre site

http://www.excel-downloads.com/forum/attachments/forum-excel/207740d1325697920-lien_avec-fonction-indirect-tri-suppression-cellules-de-la-ligne-solidaires-lien_indirect_tri_suppr.xls

merci à toi

je viens de rajouter le lien avec le site que tu m'as donné:

http://cjoint.com/?BAfbaCTFDb5

Merci :-) en espérant que cela te permet de voir clair dans mon souci
0
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
Oui, je vois clair dans ton souci, mais je te dis clairement que si jamais il y a une solution, elle n'est ni évidente ni facile à mettre en oeuvre, et nécessite très certainement de passer par VBA.
Pour ma part, je suis totalement incapable de te suggérer une piste de solution classique (et je suis nul en macro).

Mais si tu arrives à expliquer pourquoi tu as utilisé 2 feuilles, et pourquoi tes cellules bleues ne sont pas regroupées sur la même feuille, peut-être pourrons-nous te proposer des solutions alternatives.

Cordialement.
0
Isabelle
 
c'est un fichier d'exemple....
en réalité la meme procedure ( si je trouve une solution) sera appliquée à plusieurs feuilles... chaque feuille contient des données complementaires..
à moins de faire un tableau avec 100 colonnes..pas pratique à l'écran et la lecture des données devient un peu "n'importe quoi" sans parlé des contrainte d'impression et bien plus encore..

Toute fois si t'as une meilleure solution à me suggerer pour lier deux ou trois feuille je suis preneuse..
pour moi il faut que la mise à jour entre feuille soit intuitive et direct.. et le tri et les suppression bien gerés et sans desordre...

exemple quand on supprime une ligne dans la feuille 1 les liens liées dans les autres feuilles doivent être supprimées idem pour le tri, les modifications etc..

A savoir mes feuilles auront toutes une colonne ( la même ) contenant une même reférence...

sinon pour ce qui est de ma solution... la partie bleu non liee je voulais la lier à elle même histoire de la mettre dans la fonction ( mais ca donne une liaison /reference corculaire)..

oui le vba il ya quelques solutions que j'avais tenté mais ca reste limité...Excel ne gere pas la suppression entant qu'evenement en tous cas pas de possibilité la dessus...
0
Isabelle
 
le but du lien n'est pas recopier le tableau à l'identique dans une autre feuille.. c'est donc lier d'autres donnée à une même réference communes à plusieurs feuilles.. :-)

une pise ..mais je ne vois pas comment... l'écrire.. c'est que le résultat

serait ma formule indirect +une formule impliquant la plage bleue) et faire le lien sur la sommes des deux
enfin peut-être
0
Isabelle
 
Bonjour JVDo effectivement j'ai pensé à une solution dans ce sens là mais j'avoue ne pas avoir essayé.. il faut le faire en vba avec des boutons... je présume genre bouton 1 ( masquer colonnes de A à J et ainsi de suite)..?
as tu une idée dans ce sens ou un exemple pour me faire une idée.. c'est bon de croisé les idées..

merci en tous cas de t y être arreter sur ma question :-)

isa
0
JvDo Messages postés 2012 Statut Membre 859
 
Bonjour,
https://www.cjoint.com/?BAfkCfaBEew

Pour le confort (ça n'est pas nécessaire, tu peux te passer de VBA), j'ai créé une macro évènementielle (derrière la feuille 1) pour traiter une modification de la cellule Feuil1!A2 qui contient une liste de validation qui s'alimente avec la zone Paramètres!vue_perso. Cette zone s'adapte aux ajouts/suppressions.

J'ai laissé les imperfections des vues que j'ai créées(affichage réduit ou décalé de la fenêtre) pour que tu vois ce qu'il ne faut pas faire quand tu enregistres une vue personnalisée (autrement dit, une vue personnalisée mémorise l'état dans lequel tu as mis ta fenêtre)
Remarque : la création des vues, ça, tu le fait manuellement.
Quand tu as créé tes vues, tu saisis leur nom dans la zone de ta feuille Paramètres.

Ceci dit, j'ai laissé trainer une macro qui te fait ça automatiquement dans le module1.

Cordialement

Pour la postérité, vu que cjoint a une durée de vie limitée, voilà les macros :
Feuille 1 :
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$2" Then
    If vue_valide(Target.Value) Then ActiveWorkbook.CustomViews(Range("A2").Value).Show Else MsgBox ("Vue inexistante. Corriger la zone paramètre")
End If
End Sub

Function vue_valide(mavue) As Boolean
vue_valide = False
nbvues = ActiveWorkbook.CustomViews.Count
For i = 1 To nbvues
    vue_valide = (mavue = ActiveWorkbook.CustomViews(i).Name)
    If vue_valide Then Exit For
Next
End Function
Module1 :
Sub Macro1()
i = 2: j = 3
For Each vue_perso In ActiveWorkbook.CustomViews
    Sheets("Paramètres").Cells(i, j) = vue_perso.Name
    i = i + 1
Next
End Sub
0
Isabelle
 
hein t'es super JV Do et assez réactif " j'aime ça" :-)
il est vrai que je ne suis jamais allée fuiner du côtes de ce bouton d'affichage pérsonalisé.. ( je garde ca pour les fond de rayons de magasin où on ne cherche rien et où on trouve de tout... )

je vais de ce pas tester tout ça (fuiner), je te contenrai la suite.....

Merci à toi
0
Isabelle
 
Rebonjour

Oui l'idée et pas mal..

j'apprécie particulièrement le choix de la vue avec le petit menu déroulant..
je n'y avais pas pensé.. c'est plus leger que des boutons ...ca donne la possibilité de mutiplier les vues.. CAHPO

Toutetois pour revenir à mon problème ..tel que je le proposais..

j'avais pensé à rendre les cellules d'une même lignes (ici dans feuil2) solidaires du faut que certaines cellules sont issue de feuil1.. mais là encore j'ignore les fonction de groupage et de consolidations de données.. .. et j'ignore si "Grouper cellules dans une même ligne et applicale par formule à toutes les lignes d'une feuille).

cordialement et merci encore.
0
Isabelle
 
Ah j'ai oublié... merci d'avoir attiré mon attention sur le probleme des imprefections fenêtres et autres ( en effet il faut faire attention sans quoi tout ressort comme un cheveux sur la soupe).

- La "Function vue_valide(mavue) As Boolean"

n'est il pas mieux de la déclarer en public sur un modul à part pour qu'elle soit valable dans tout le classeur et pas seulement la "feuil"?

_ D'après toi n'est il pas mieux de faire le tableau sur deux feuilles differente les lier avec indirect.. et ensuite faire dans chaque feuille une vue adapté..

en somme un mix entre indirect sur la totalité des deux feuilles et des vue adaptés dans chaque feuille.. ( je pensais à ça comme solution alternative à l'utilisation d'un menu vue d'une part et peut-être pour d'autres bien fait que j'igonre.. :-)

:-)
0
JvDo Messages postés 2012 Statut Membre 859
 
Bonjour,

1) pour la fonction, tu peux la mettre dans un module

2) pour l'organisation de tes données, je crois qu'il faut raisonner "modèle de données".
il me semble que tu génères fictivement 3 entités (Jaune, Bleu et Vert, pour simplifier) alors qu'elles sont en relation bijective.
C'est sûr que tu peux le faire mais il faut alors réfléchir ta solution comme une base de données.
Ca me semble une approche compliquée alors qu'un simple fichier à plat (qu'Excel sait gérer) conviendrait.
Si tu veux persister dans cette voie, il faut une feuille par entité (ce que tu commençais à faire avec tes feuilles), des tables d'association de tes données et considérer que c'est l'entité qui commande.

Qu'est-ce que ça veux dire : dans ta feuille Bleue (la 2 je crois) tu vas rrechercher les données Jaunes de ta feuille 1 en fonction des enregistrements Bleus et de la table d'association JaunexBleu. Comme ça tu auras ta concordance Jaune/Bleu puisque tu récupères le Jaune lié au Bleu.
Idem pour la feuille Jaune (la 1 il me semble) : tu rappatries la donnée Bleue liée à la donnée Jaune.

Donc, un index par entité et une table d'association des index (JaunexBleu, JaunexVert).
Avec cela, dans la feuille Jaune, tu sauras quels enregistrements Bleus tu dois rappatrier.
Dans la feuille Bleue, tu sauras quels enregistrements Jaunes tu dois rappatrier.
Etc...

Tu peux trier comme tu veux mais si tu crées ou supprimes un enregistrement d'une entité, il faut gérer les tables d'association....... ça me semble coton, ou moins immédiat qu'un fichier à plat..

Ceci dit, sur CCM il y a des artistes du userform qui peuvent faire ce genre de chose.

Cordialement
0