Utiliser une le nom d'une page qui change dans la fonction "=...

Aliadariss Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Aliadariss Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je susi actuellement en stage, et celui ci touche bientot à ça fin.
Sur un fichier excel (de mémoir je suis sur excel 2007) de 5 pages il y a des pages qui possèdent des noms un peu comme ça : "2D49", "1P12" ..
donc quand j'utilise cette formule :

="X\"&'2R17'!H7&"\"&H1

ici 2R17 est le nom de la feuille, le soucie maintenant c'est que tout les ans, les feuilles changent de nom. j'ai donc utilisé VBA avec la formule ci-dessous qui me donne dans les cellules respectivent le nom de la feuille à l'instant T :

Range("N3").Activate
Range("N3") = Worksheets(1).Name

Range("O3").Activate
Range("O3") = Worksheets(2).Name

Range("P3").Activate
Range("P3") = Worksheets(3).Name

jusqu'ici tout ce passe bien des que la feuille change de nom, dans les cellules le nom change aussi mais maintenant ça se complique, ma question est donc la suivante :

Vu que le nom des Feuilles changent chaque année, est-il possible de se servire d'une cellule qui contient le nom de cette feuille et faire en sorte de pouvoir l'utilisé dans la fonction ? ( je sais pas trop comment me faire comprendre) je vous donne un exemple :
à la place d'avoir

="X\"&'2R17'!H7&"\"&H1

avoir le nom de la feuille qui se trouve en N3

="X\"&'N3'!H7&"\"&H1

j'ai tenter aussi d'utilisé VBA avec la formule suivante mais sans plus de succes :

Dim X As String

Range("B1").Activate
range("B1").Value= "*"="X\"&'N3'!M7&"\"&L1" "*"

en vous remerciant par avance

A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
remplacer l'adresse de cellule par:
(INDIRECT(cell&"!"&M7)

cell étant la cellule contenant le nom de la feuille

ou alors si vous réservez la cellule cell pour le nom de feuille, par exemple A1,placez y cette formule:
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)&"!M7"

ainsi la cellule A1 affichera l'adresse complète selon le nom d'onglet
nommez cette cellule, par exemple Adr et votre adresse devient:

("INDIRECT(Adr)")

Errare humanum est, perseverare diabolicum
0
Maurice
 
Bonjour

faire une Function en Vba
Voila un exemple
Sub testFunction()
Feuil = Feuil1.Name ' Feuil1 = CodeName de l'onglet
   Range("C12").FormulaLocal = "SI('" & Feuil & "'!F12="""";"""";'" & Feuil & "'!F12)"
End Sub

A+
Maurice
0
Aliadariss Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
après avoir tester vos 2 solutions, cela ne fonctionne toujours pas :(
je cherche aussi de mon coté si je trouve je le posterais ;)
0