Bonjour,
Novice en VBA, je vais essayer de vous exposer ma problématique.
Je souhaite créer pour un client un tableau mensuel de suivi des heures de ses salariés. Je souhaite pour cela réaliser une userform qui comprendrais 1 combobox dans laquelle l’utilisateur choisirait le mois qu’il souhaite traiter, et une textbox dans laquelle il rentrerait l’année.
Pour ce faire j’ai donc créer dans une feuil1 la liste des mois de l’année. J’ai placé en A7 la date 01/01/1900 au format « mmmm », 01/02/1900 au format « mmmm » en A8, et ainsi de suite jusqu’à avoir les 12 mois (décembre en A19). Le format « mmmm » est important pour mois car je veux qu’il y ait le moins de source d’erreur pour l’utilisateur.
J’ai choisi l’année 1900 arbitrairement, sachant qu’ensuite je n’utiliserais que l’information relative au mois.
Une fois le mois et l’année choisi par l’utilisateur, je veux que la cellule C7 prenne la valeur du premier jour du mois et de de l’année choisi. Par exemple si l’utilisateur à choisi mars 2014, je veux que la cellule C7 prenne la valeur 01/03/2014.
Je veux ensuite que la cellule C8 prenne la valeur du premier jour du mois suivant.
Mon problème est le suivant :
- J’ai renseigné dans RowSource de ma combobox la plage A7 :A19. Lorsque je lance ma userform, les mois apparaissent bien de manière littérale « janvier » « février », etc. Mais dès que l’utilisateur sélectionne un mois, la valeur dans la combobox reprend un format numérique (ex 61 pour le 01/01/1900).
Ma question est donc de savoir comment faire pour que
- Lorsque l’utilisateur sélectionne un mois, celui-ci conserve un format date « mmmm »
- Les données elles ne soient pas converties en texte car je veux que le résultat puisse-être utilisé dans des formules.
Merci d'avance
Partager