vba : formule dans une variable

europe2508

XLDnaute Junior
Bonsoir
je voudrais inscrire une formule dans une variable comme suit :

ActiveCell.FormulaR1C1 = "=MID(CELL(""nomfichier""),FIND(""["",CELL(""nomfichier""))+1,(FIND(""]"",CELL(""nomfichier""))-1)-FIND(""["",CELL(""nomfichier"")))"
courant = ActiveCell.FormulaR1C1
Sheets(courant).Activate

j'ai essayé d'affecter directement la formule dans courant mais cela ne marche pas non plus
 

TooFatBoy

XLDnaute Barbatruc
Re : vba : formule dans une variable

Bonjour,

Dans ton classeur, as-tu vraiment une feuille qui s'appelle =MID(CELL(""nomfichier""),FIND(""["",CELL(""nomfichier""))+1,(FIND(""]"",CELL(""nomfichier""))-1)-FIND(""["",CELL(""nomfichier""))) ????? J'en doute fort !

Que veux-tu faire ?
 

europe2508

XLDnaute Junior
Re : vba : formule dans une variable

Heu et bien je veut récupérer le nom du fichier courant on m'a donner comme solution

Sub Macro1()
ActiveWorkbook.Names.Add Name:="NOMCLASSEUR", RefersToR1C1:= _
"=MID(CELL(""nomfichier""),FIND(""["",CELL(""nomfichier""))+1,(FIND(""]"",CELL(""nomfichier""))-1)-FIND(""["",CELL(""nomfichier"")))"
End Sub

et ensuite utiliser la formule dans excel
ou alors utiliser directement
=STXT(CELLULE("nomfichier");TROUVE("[";CELLULE("nomfichier"))+1;(TROUVE("]";CELLULE("nomfichier"))-1)-TROUVE("[";CELLULE("nomfichier")))

mais si je veut recuperer le nom du fichier en evitant de passé par un range sa sera mieu non ?
courant=range(b9) b9 : non du fichier courant
 

Pierrot93

XLDnaute Barbatruc
Re : vba : formule dans une variable

Bonjour Europe, Marcel

pas sur d'avoir tout compris, mais si ta formule ramène bien le nom de la feuille, et si celle ci est bien dans le classeur actif, essaye peut être comme suit :

Code:
courant = ActiveCell.Value
Sheets(courant).Activate

ou bien :

Code:
Sheets(ActiveCell.Value).Activate

bonne journée
@+
 

Discussions similaires

Réponses
3
Affichages
196

Statistiques des forums

Discussions
312 843
Messages
2 092 757
Membres
105 525
dernier inscrit
jabyou