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

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"""


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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…