[RÉSOLU] VBA : userbox calendrier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dionys0s

XLDnaute Impliqué
Bonjour le forum

J'ai un fichier dans lequel j'aimerais utiliser un userform pour remplir ma cellule B8, et en fonction de ce qui est choisi, les cellules du dessous. Je m'explique (ouvrir le fichier joint pour visualiser).

Je voudrais qu'en cliquant sur le bouton "choisir le mois" s'ouvre un calendrier qui ne propose que les mois-année (janvier 2010, février 2010, ... ), et qu'une fois le mois choisi, cela remplisse la cellule B8 au format mmm-yy, et que les 28 à 31 cellules du dessous (suivant le mois sélectionné) affichent automatiquement tous les jours du mois au format dd/mm/yy

J'ai essayé de comprendre les userform mais j'avoue galérer un max là-dessus. Je pense que votre aide pourrait m'aider à comprendre les démarches à suivre pour réaliser ce genre de macro.

D'avance merci pour votre aide
 

Pièces jointes

Dernière édition:
Re : VBA : userbox calendrier

Ah si.
Tu n'avais juste pas inséré de module et appelé le module via le bouton.

Cool !! Merci beaucoup.

Ceci dit j'ai une question. Ne sont affichés que les mois de 2010. Serait il possible d'avoir tous les mois de tous les temps du monde de l'univers ?
 
Re : VBA : userbox calendrier

Re 🙂,
Ne sont affichés que les mois de 2010. Serait il possible d'avoir tous les mois de tous les temps du monde de l'univers ?
Euh... Non 😀...
Modifie l'Initialize
Code:
Private Sub UserForm_Initialize()
For I = 0 To 59
ComboBox1.AddItem Application.WorksheetFunction.Proper(Format(DateAdd("m", I, #1/1/2010#), "mmmm yyyy"))
Next I
End Sub
Il te suffit de modifier la boucle ou la date de départ en fonction de tes désirs 😛...
Là, ça va déjà de janvier 2010 à décembre 2014 🙄...
A + 😎
 
Re : VBA : userbox calendrier

Bonjour le forum. 🙂

Super ton truc pierrejean. Cela dit, je suis surpris que tu n'aies pas pensé à placer ton code du
Code:
Private Sub CommandButton1_Click()
dans le Private Sub ComboBox2_Change(), comme ça :

Code:
Private Sub ComboBox2_Change()
ligne = 9
Range("B8:B39").ClearContents
Range("B8") = Format(CDate("01/" & ComboBox1 & "/" & ComboBox2), "mm-yyyy")
 If ComboBox1.ListIndex = 11 Then
   fin = CDate("31/12/" & ComboBox2)
 Else
   fin = CDate("01/" & ComboBox1.ListIndex + 2 & "/" & ComboBox2) - 1
 End If
  For n = CDate("01/" & ComboBox1 & "/" & ComboBox2) To fin
   Cells(ligne, "B") = n
   ligne = ligne + 1
  Next n
End Sub

Comme ça on évite le (gros) bouton, non ?

Bravo encore. 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
119
Réponses
6
Affichages
306
Réponses
0
Affichages
475
Réponses
10
Affichages
857
Réponses
12
Affichages
1 K
Réponses
3
Affichages
812
Membre supprimé 341069
M
Retour