Insertion d'une formule contenue dans une cellule vers une macro VBA

didou44

XLDnaute Nouveau
Bonjour le Forum,
J'ai une question qui me perturbe chaque mois,

Dans la cellule A4, j'ai :=AUJOURDUI()
Dans la cellule AA11 j'ai : =MOIS.DECALER(A4;-1) qui me donne en format texte le nom du mois précèdent ce jour.

Dans la contenu d'une macro j'ai:

'Chois désignation
Formule = "décembre" ' (AA11)
Selection.Offset(0, 2).Select
ActiveCell.FormulaLocal = "Loyer " & Formule & " MDR"

Cela fonctionne bien, mais lorsque je change de mois (après le 31/01/16) ma macro reste figée à "décembre", pour corriger çà, je recopie à nouveau la formule de (AA11) dans ma macro, celle -ci se met à jour, mais le phénomène se reproduit le mois suivant
Comment coder correctement pour ne pas avoir à intervenir chaque mois?
Merci à vous!
 

didou44

XLDnaute Nouveau
Re : Insertion d'une formule contenue dans une cellule vers une macro VBA

Merci Modeste Geedee, cela fonctionne parfaitement, mais çà :TEXT(EDATE(TODAY(),-1, ce n'est pas dans les manuels??!!
J'ai changer la date de mon PC et relancer ma macro : c'est plus que nickel !!!
 

Modeste geedee

XLDnaute Barbatruc
Re : Insertion d'une formule contenue dans une cellule vers une macro VBA

Bonsour®

Les fonctions natives d'EXCEL de feuille de calculs sont en anglais ...
EDATE(X,Y) est l'équivalent de MOIS.DECALER(X;Y)
TODAY() vaut pour AUJOURDHUI()
TEXT(Ref , Format) c'est TEXTE(Ref ; Format)

on pourrait aussi utiliser :
ActiveCell.FormulaLocal = "=""Loyer "" &TEXTE(MOIS.DECALER(AUJOURDHUI();-1);""mmmm"") & "" MDR"""

:rolleyes:
les virgules sont remplacées par point-virgule
les R1C1 par L1C1

nb:
une façon de récupérer la syntaxe correcte est l'utilisation de l'enregistreur...
ce qui a été fait pour ma réponse précédente
;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 322
Membres
103 178
dernier inscrit
BERSEB50