Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

vba : formule dans une variable

  • Initiateur de la discussion Initiateur de la discussion europe2508
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

europe2508

Guest
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
 
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 ?
 
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
 
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
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
250
Didierpasdoué
D
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
772
Réponses
3
Affichages
258
Réponses
2
Affichages
411
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…