Fonction MOIS.DECALER

Bonjour tout le monde,

Je suis un débutant sous VBA, je souhaiterait inclure dans mon USERFORM un label qui prendrais en compte mon FORMCal et avec la fonction MOIS.DECALER de excel (version VBA) en déduire une date . je sais le faire sur excel ça pas de soucis mais je souhaiterait le faire sous VBA et l'inclure directement dans mon USERFORM. Pouvez vous me dire si d'une part c'est possible et comment y arriver.

Merci d’avance

Bonjour,

Pourquoi vouloir utiliser une fonction Excel quand tu disposes d'une fonction VBA : DateAdd

Les fonctions Excel sont intéressantes quand il n'existe pas de fonction VBA équivalente (c'est le cas de Match ou Transpose, par exemple) ou quand le contexte rend plus facile ou intéressante leur utilisation. Mais il faut toujours vérifier les outils dont VBA dispose en propre avant d'aller chercher ailleurs.

Cordialement.

en fait je ne savait pas qu'il exister une fonction VBA , je débute vraiment

Tu tapes DateAdd dans l'Aide VBA et tu auras la description, avec toutes ses possibilités (supérieures à MOIS.DECALER) et la syntaxe à utiliser.

Cordialemetn.

Mercii beaucoup je viens de voir ça mais ne comprend pas trop comment ça fonctionne , j'essaye de me débrouiller par moi même d'habitude mais la je doit avouer que je bloque lool . je vais continuer d’essayer

MOIS.DECALER te permet de renvoyer une nouvelle date, à partir d'une date donnée, décalée d'un certain nombre de mois, le décalage pouvant être positif ou négatif (ou nul !)

DateAdd permet de même de renvoyer une date par rapport à une autre en la décalant, mais le décalage peut être en années, en mois, en jours, plus quelques autres périodes de temps... ce qui devrait répondre largement à tes besoins !

Supposons que dateinit est ta date initiale, tu veux la décaler de 3 mois, tu écris :

Label1.Caption = DateAdd("m", 3, dateinit)

et la date décalée deviendra le libellé de l'étiquette 1 (il me semble que c'était ton propos).

Ou mieux (et en matière de date, sans doute indispensable) :

Label1.Caption = Format(DateAdd("m", 3, dateinit), "d-mmm-yyyy")

Ainsi, si dateinit était la date d'aujourd'hui, ta Label afficherait : 6-mars-2017

(NB- tu choisis le format que tu veux... )

Cordialement.

Trop bien merciii ça fonction a merveille , même en semaine

merci beaucoup

Bonjour

j’ai un tout petit problème suite a mon pote de mardis lool

En fait il me met la date du jour , je voudrait mettre une date que moi

j'aurais choisis, j’ai essayer plusieurs option mais n'y parvient pas

pourriez vous m'aider s'il vous plait ??

Bonjour,

Quel est ton code ?

Le même que tu as écrit plus haut, sauf que j'ai mis date.

J'ai une solution bêta 2 je crée un label vide dans lequel je pourrais écrire se que je veux et dit aux autres de le prendre comme date

Si tu mets Date, Date renvoie la date du jour !

Il faut une source pour la date que tu souhaites.

Oui c'est se que j'ai vue lool

J'ai réussi avec l'option bêta 2 mais il doit y avoir un moyen plus simple non

Pas vu ta beta2...

Private Sub TextBox2_Change()

' 4 semaines

TextBox2 = Format(DateAdd("m", 1, TextBox9), "d-mmm-yyyy")

End Sub

j’ai remplacer Date par une TexBox dans laquelle il suffit de mettre la date souhaiter

Plutôt comme ça :

TextBox2 = Format(DateAdd("m", 1, CDate(TextBox9.Value)), "d-mmm-yyyy")

D'accord

merciii beaucoup

N'oublie pas que dans une TextBox, tu n'as pas une date mais du texte. Toujours du texte, qui peut être converti automatiquement par VBA (ou Excel quand tu affectes sur une feuille). Le problème des dates est que VBA détecte si un texte représente une date, et le convertit en date, mais si le jour est inférieur à 13, il y toutes chances que VBA considèrera que c'est le mois, d'où les problèmes d'inversion mois/jour qu'on rencontre souvent.

Il ne faut donc pas le laisser convertir mais le forcer à convertir, parce que dans ce cas il va aller chercher les paramètres régionaux du système pour lire la date selon le format régional...

Cordialement.

D’où l'importance de CDate(TextBox9.Value), je comprend mieux comment ça fonctionne merci beaucoup

J'aurais surement d'autre question mais au moins ce sujet et résolu

encore merci pour votre aide

Rechercher des sujets similaires à "fonction mois decaler"