XL 2010 Intégrer Adresse de cellule dans une formule, sans coordonnées.

Nylream

XLDnaute Junior
Bonjour à tous,

Dans mon tableau (ci joint) les colonnes assignment et role contiennent des formules permettant de récupérer les valeurs venant d'autre feuilles. Ça fonctionne bien, mais j'aimerais améliorer 2 choses si c'est faisable.

Les formules sont composé à peu près de la sorte :
Code:
=INDEX(RLS_ROLE;SOMMEPROD((RLS_NAME=A2)*LIGNE(RLS_NAME))-1)
Avec un SIERREUR pour enchainer les recherches sur les multiples feuilles.

Ce que j'aimerais avant tout ce serait de créer un champ "Assignment" et un champ "Role", et que la formule ne soit plus dans chaque cellule, mais affecter à tout le champ.
Cela permettrait par exemple d'automatiquement avoir la formule, même si une ligne est insérer.
A ce jour, si on insère une ligne, les formules ne se mette pas automatiquement dessus.

Pour ce faire, j'ai chercher à remplacer la matrice indiquant la cellule, (ci dessus en A2)
Code:
DECALER(C:C;0;-3)
me donne le contenu de la cellule mais
Code:
=INDEX(RLS_ROLE;SOMMEPROD((RLS_NAME=DECALER(D:D;0;-3))*LIGNE(RLS_NAME))-1)
ne fonctionne pas et me renvoie un #N/A
Je ne vois pas trop comment contourner mon problème, et j'ai du stopper mes essais téméraires, Excel commençait à se goinfrer à plus de 2Go de ram...
_

Autre demande sur le même tableau
J'aimerais faire un tri automatique du tableau, de A2 à K250, mais personnalisé sur la colonne G, et avec les critères suivants:
O-11 à O-1,O-C, E-9 à E-1, W-5 à W-1.

J'ai cru comprendre que certaine macro VBA permettait un tri, mais je n'ai pas trouvé de version ou celui ci était personnalisable.

Je précise que je suis un complet débutant sur Excel, la quasi totalité des macro, ou formules m'ont été communiqué ici (merci Mapomme) ou prise sur le net (site de boisgontierjacques).

Merci d'avance pour votre aide,

Nyl.
 

Pièces jointes

  • test_Tool - 2.5.xlsm
    107.5 KB · Affichages: 27
Dernière édition:

Nylream

XLDnaute Junior
Re,

Super pour les formules "simplifié", ça marche bien et ça m'évite d'avoir des pavé de formule à modifier
Merci beaucoup :)

Si je ne dis pas de bêtises, la liste personnalisé ne me permet pas d'automatiser ce tri, et je devrais toujours aller sur Tri, et le lancer manuellement.

N'y a t'il pas un moyen de faire que ce tri se fasse dès l'instant ou une des valeurs concerné change ?

Merci encore !
 

Nylream

XLDnaute Junior
Bonjour Dugenou,

Merci pour ta réponse,
Je ne vois pas trop comment un TCD pourrait faire ça, j'ai vue que tu avais mis une feuille 2, mais je ne suis pas sur de comprendre l'idée.

Si on pouvait n'avoir qu'un bouton, ça m'irait bien, mais je n'ai pas trouvé de moyen de faire une sorte de raccourci qui lance mon tri.

Par contre, j'ai l'impression que ma recherche intuitive s'est cassé... (voir les 2 PJ) elle gêne la saisie au lieu de l'assister. Je me sens un peu comme sur un manège la... ça me donne le vertige :(

Merci pour ton aide,
 

Pièces jointes

  • test_Tool - 2.5.xlsm
    112 KB · Affichages: 26
  • Test_2-intuitive.xlsm
    90.7 KB · Affichages: 24

Dugenou

XLDnaute Barbatruc
La feuille 2 ne m'a servi qu'à enregistrer la liste personnalisée.
Je ne comprends ce que tu entends par recherche intuitive.
Oublies le TCD ce n'est pas une bonne idée
Pour le tri par un bouton : tu le fais une fois avec l'enregistreur de macro puis tu crées un bouton auquel tu affectes la macro.
Cordialement
 

Nylream

XLDnaute Junior
Merci pour vos réponses,
Du coup, j'ai cherché un VBA sur le net (voir code dessous), qui, une fois modifié semble faire le boulot.
VB:
    Sub test()

     With ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("G2:G250"), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal, _
                CustomOrder:="O-11,O-10,O-9,O-8,O-7,O-6,O-5,O-4,O-3,O-2,O-1,O-C,W-5,,W-4,W-3,W-2,W-1,E-9,E-8,E-7,E-6,E-5,E-4,E-3,E-2,E-1"
            .SetRange Range("A2:K250")
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

    End Sub
Je n'aurais qu'à trouver comment y associer un bouton (ça doit pas être sorcier).

Là, je suis plutôt inquiet pour ma saisie intuitive, je ne sais pas à quelle moment elle a commencer à partir en vrille.
 

Discussions similaires

Statistiques des forums

Discussions
312 096
Messages
2 085 254
Membres
102 839
dernier inscrit
Tougtoug