[VBA] Variable dans une formule - Résolu -

Fouiny

XLDnaute Nouveau
Bonjour à tous,

J'ai un léger problème avec une macro... Cette macro a pour but d'appliquer une formule à une cellule. Je souhaite qu'une valeur de cette formule soit une variable.

Code:
Sub Exemple()

Dim nom_feuille As String

With ThisWorkbook.Sheets("TOTO")
        
    .Select
    nom_feuille = ActiveSheet.Name
    
    'Formule de la cellule E19 -> Evolution TOTO/ABC pour le mois précédent.
                    
    'On initialise nos variables (pour ne pas avoir d'expressions trop longues dans les formules)
    F1 = "INDEX(TOTOABC[Data],MATCH(DATE(YEAR(TODAY()),MONTH(TODAY())-1,1),TOTOABC[Grafic],0))"
    F2 = "INDEX(TOTOABC[Data],MATCH(DATE(YEAR(TODAY()),MONTH(TODAY())-2,1),TOTOABC[Grafic],0))"
    
    .Range("E19").FormulaR1C1 = "=(" & F1 & "-" & F2 & ")/" & F2
                    

                            
End With

End Sub

Dans les formules F1 et F2, je souhaite remplacer TOTO (et pas TOTOABC) par ma variable nom_feuille. J'ai essayé plusieurs syntaxes sans succès...

Je vous joints également un fichier exemple, en espérant que ça vous aidera (ici)


D'avance merci pour vos retours,

Fouiny
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : [VBA] Variable dans une formule

Bonjour Fouiny,

peut-être

Code:
F1 = replace("INDEX(TOTOABC[Data],MATCH(DATE(YEAR(TODAY()),MONTH(TODAY())-1,1),TOTOABC[Grafic],0))","TOTO",nom_feuille)
    F2 = replace("INDEX(TOTOABC[Data],MATCH(DATE(YEAR(TODAY()),MONTH(TODAY())-2,1),TOTOABC[Grafic],0))","TOTO",nom_feuille)
 

Discussions similaires

Réponses
1
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth