Mois decaler sous VBA

Bonjour a toutes et tous,

je cherche à savoir comment écrire une formule excel sous macro vba

la formule en question

=NB.SI.ENS(Projects[End_Date];">"&AUJOURDHUI();Projects[End_Date];"<="&MOIS.DECALER(AUJOURDHUI();$AK$10))

afin que celle ci puisse fonctionner dans un userfom

If TblBD(i, 9) =  ....              Then

Pour information

TblBD(i, 9) est une date correspondant à

Projects[End_Date]

et

$AK$10

est le nombre de mois de décalage sous excel

merci à vous par avance car je ne vois pas comment procéder

bonne journée

Salut Darkangel,

Je crois que l'équivalent VBA, c'est :

WorksheetFunction.countifs(Range("Projects[End_Date]");">" & now;Range("Projects[End_Date]");"<=" & WorksheetFunction.EDate(now, Range("AK10").value))

Bonjour,

une des façon de faire pour "retranscrire" une formule en VBA et d'utiliser l'enregistreur de macro :

vous écrivez votre formule sous Excel (comme c'est les cas actuellement), puis vous lancez l'enregistreur, puis vous entrez en mode de saisie de votre formule (double clic sur la cellule), puis [Entrée], puis stoppez l'enregistreur.
Quand vous allez sous VBA vous trouverez alors l'équivalent de votre formule en VBA. Pour votre exemple cela donne :

ActiveCell.FormulaR1C1 ="=COUNTIFS(Projects[End_Date],"">""&TODAY(),Projects[End_Date],""<=""&EDATE(TODAY(),R10C37))"

A voir si cela est bon, en tout cas cela donne une bonne vision du résultat final qui peut encore être modifié.

Pour décaler un certain nombre de mois par rapport à une date donnée en cellule A1 vous pouvez faire ceci :

Date_Décalée = DateAdd("m",3, [A1])

où la date en A1 est décalée de 3 mois ("m") et le résultat est mis dans la variable Date_Décalée.

@ bientôt

LouReeD

Bonjour,

Je rentre juste de congés et vois vos retours

merci à vous pour vos réponses et suggestion de LouReed

Rechercher des sujets similaires à "mois decaler vba"