!!! Mois + , le retour !!!

  • Initiateur de la discussion Fabrice
  • Date de début
F

Fabrice

Guest
Bonjour à tous,

J'avais un probleme pour trouver automatiquement le mois suivant à partir d"une cellule. Le probleme à été résolu dans le post suivant:
http://www.excel-downloads.com/html/French/forum/messages/1_107397_107397.htm

Il m'est apparu ce WE le meme PB mais cette fois Sous VB!!!

En effet, je réalise un UF dans lequel je cherche à indiquer le "nom" du mois qui va etre saisie en fonction du mois précédent. (Je sais que certain diront: tu n'as qu'a prendre la valeur que tu trouves dans ta feuille XL garce à la methode précédente. mais le souci est que cette méthode est utilisée qu'une fois l'UF remplie!!!! ")

Actuelement, j'arrive à afficher sans PB la valeur du mois précédent dans mon label. J'ai mis au format mmmm yyyy mais impossible de trouver une méthode pour qu'il maffiche le mois précédent + 1.

est ce que quelqu'u_n aurait une solution???

Merci de vos réponses,
FAb
 
J

Jean-Marie

Guest
Bonjour Fabrice

Je te propose une solution par Function

Copie ce code et place le dans le module

Public Function MoisPlusUn(Label As String) As Date
MoisPluUn = DateAdd("m", 1, DateValue(Label))
End Function

Pour l'intégrer à ta sub
il suffit de le mettre .... = MoisPlusUn(....)

L'instruction DateValue transforme un texte mmmm yyyy en une valeur date. Vba rajoute automatiquement le "1 "
L'instruction DateAdd rajoute en un interval de temps à la date, en fonction des deux premiers arguments.
MoisPluUn = ... retourne la valeurs à l'objet ou d'une cellule d'une feuille de calcul.

@+Jean-Marie
 
F

Fabrice

Guest
Bonjour Jean-Marie

J'ai hier soir mis en application ton code. tout va bien, il me donne bien la date désirée.
le seul problème est que cette date doit apparaitre sous la forme Mai 2004 et non 1/06/2004.
pour cela, j'ai rentré le code suivant:
label3=moisplusun(format(worksheets("Suivi").cells(1,5);"mmmm yyyy"))

normalement avec ce format, la date doit etre MAi 2004, et le résultat de mon code est 1/06/2004 !!! :=(

qu'est ce qui cloche dans mon code???

merci de ta réponse
FAb
 
J

Jean-Marie

Guest
Bonjour Fabrice

Regarde de quel type la fonction retourne la valeur
Public Function MoisPlusUn(Label As String) As Date

Tu n'as fait que transformer une date en texte et VBA à converti le texte pour le mettre en fonction du type de retour (c'est bon à savoir, lol)

Donc garde le format c'est bien et change le type de retour en string

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 355
Messages
2 087 553
Membres
103 588
dernier inscrit
Tom59300Tom