XL 2016 [RESOLU]Nom de cellule variable (gestionnaire de nom automatique ?)

Etn

XLDnaute Occasionnel
Bonjour le forum,

Je souhaiterais savoir si c'était possible qu'une cellule puisse avoir plusieurs noms différents en fonction de certains paramètres, sans que l'on ait a inscrire manuellement tous les noms dans le gestionnaire de nom.

J'ai joint un fichier qui sera je pense bien plus explicite.

N'hésitez pas si vous avez des questions.

Bonne journée,
Etn
 

Pièces jointes

  • nom variable.xlsx
    10.4 KB · Affichages: 45

Etn

XLDnaute Occasionnel
Bonjour M12 et merci de ton aide,

En fait je me suis mal exprimé, je souhaite toujours avoir le meme résultat, mais que je puisse nommer la cellule en fonction des 2 criteres.
upload_2018-3-6_10-4-41.png

Voici le résultat que je souhaiterais avoir dans mon gestionnaire de nom.

upload_2018-3-6_10-5-30.png


Voici ce que je souhaiterais obtenir si je change un critère en version 3.

L'idée serait d'avoir mon gestionnaire de nom comme cela :
upload_2018-3-6_10-7-21.png
 

eriiic

XLDnaute Barbatruc
Bonjour,

je reste sur l'idée d'intersection de plages de M12, qui est prévu pour ça.

Il faut nommer différemment tes années que ce soit un texte, ie: _2015
Sélectionne A1:E5, 'Formule / Noms définis / Depuis sélection' cocher ligne du haut et colonne de gauche.
et
Code:
=_2016 version2
te ramène la valeur 6.
(ou bien =INDIRECT("_"&K10) INDIRECT(L10) si tu tiens à utiliser K10:L10 mais je n'en vois pas trop l'intérêt, le but d'un nom étant d'être utilisé directement le plus souvent)
eric
 

Pièces jointes

  • nom variable.xlsx
    10.8 KB · Affichages: 37

Etn

XLDnaute Occasionnel
Bonjour tout le monde et merci beaucoup pour votre aide !

Alors @M12 : Je me suis encore mal exprimé désolé.. En fait le principe de créer un nouveau nom avec une macro est une bonne idée, mais cela risque d'engendrer des erreurs si lorsque j'appelle un nom j'ai version 1_2015 et version 1_2016 qui possède la meme valeur. Il faudrait que version1_2016 remplace le premier nom dans le gestionnaire pour éviter cela.

@CISCO : J'ai essayé de faire un test avec ton fichier, mais je ne peux pas appeler une cellule en function de la version et de l'année. Peut être que j'ai pas compris quelque chose.

@ Doublezero : Alors c'est exactement ca, mais quand je tape le nom de une cellule pour l'appeler cela ne fonctionne pas :(
upload_2018-3-6_15-20-32.png



@eriiiic : Génial comme technique, je n'avais pas du tout pensé et je ne savais pas que cela était possible ! Serait il possible de jouer sur les formules des noms désormais ? En effet j'aurais plutot une base de données dans ce style :
upload_2018-3-6_15-48-6.png

Et surtout une base de données dynamique (des lignes peuvent se rajouter). L'idée serait d'avoir dans le gestionnaire version 1/2/3/4 , modif 1/2/3/4 et test 1/2/3/4 et en faisant des & cela serait possible de retrouver la bonne donnée dans la base ? Une sorte de sommeproduct (ou index equiv avec plusieurs conditions à base de gestionnaire de noms en quelque sorte (je sais pas si c'est clair) J'ai joint un fichier pour que cela soit plus explicite.

En soit l'idée finale est de retrouver la donnée dans la base en tapant juste les conditions : M12 = _2016 version1 modif1 test1
A la base je pensais qu'il etait obligatoire de passer par une formule index equiv (ou sommeproduct) pour retrouver la donnée, puis nommer cette cellule de maniere variable, mais apparemment il est possible de passer directement par la base de donnée sans de formule index equiv comme l'a montré eriiiic.

Merci à tous pour votre aide en tout cas :)

Etn
 

Pièces jointes

  • upload_2018-3-6_15-43-49.png
    upload_2018-3-6_15-43-49.png
    9.4 KB · Affichages: 34
  • nom variable v2.xlsx
    11.1 KB · Affichages: 30

eriiic

XLDnaute Barbatruc
Je t'ai corrigé ton fichier.
Macro pour étendre les noms :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim pl As Range
    Set pl = [A1].CurrentRegion
    Application.DisplayAlerts = False
    If Not Intersect(Target, pl) Is Nothing Then pl.CreateNames Top:=True, Left:=True
    Application.DisplayAlerts = True
End Sub
Formules :
=_2016 version2modif1test3 (une seule intersection, un seul espace)
ou
=INDIRECT("_"&K10) INDIRECT(L10&J10&I10)
Mais si ça doit être dynamique (implique une macro) et qu'en plus tu dois utiliser indirect() pour refabriquer un nom, autant que tu restes avec index(), equiv() qui est plus simple et plus logique.
Je pense que ça n'est intéressant que sous la forme =_2016 version2modif1test3 pour la lisibilité, lisibilité que tu as si tu mets tes 4 critères dans des cellules comme tu fais.
eric
 

Pièces jointes

  • nom variable v2.xlsm
    18 KB · Affichages: 32

Discussions similaires

Statistiques des forums

Discussions
312 166
Messages
2 085 890
Membres
103 019
dernier inscrit
Eliot_1