créer un calendrier dans un UserForm

C@thy

XLDnaute Barbatruc
Bonjour le forum,

Je voudrais créer un calendrier selon le modèle ci-joint, (mais avec les jours de la semaine en haut, en colonnes,
les flèches pour changer de mois en haut et d'année en bas)
mais dans un USF

Comment puis-je créer les flèches pour changer de mois et d'année, et initialiser les valeurs???
(j'ai essayé avec une scrollbar ou un spinbutton, mais je ne sais pas comment afficher le mois en cours, l'année en cours et faire la navigation sur d'autres mois ou années:confused:)

Merci à vous, si vous avez des idées sur la question ou un exemple à me fournir.

Edit : j'ai mis 2010 car il doit être compatible 2010, mais en réalité, pour l'instant je n'ai que 2003!!

Bises et bonne journée,

C@thy
 

Pièces jointes

  • AffichePetitCalendrier.xls
    41 KB · Affichages: 1 119
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Bonjour C@thy
Bonjour le Fil
Bonjour le Forum

j'ai il y a déjà quelques mois élaboré ce fichier , je me suis dis , on utilise souvent des CommandButtons , des Labels pour construire un Calendrier. Je me suis dit pourquoi pas des ListView ? (Chères à Bebere Lol)
Donc en pièce Jointe un fichier qui représente une des possibilités de l'utilisation de ce Calendrier .
à tester (Attention !!!!! il y a depuis quelques temps des Gens qui rencontre des Difficultés lors de l'utilisation des ListView)
Bons tests
Le Fichier : Regarde la pièce jointe Procedures sur dates test(30).xls
Bonne Journée
Amicalement
Jean Marie
 

YANN-56

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Bonsoir, ou Bonjour suivant l'heure aux participants, et à ceux qui passeront par là,

Jean-Marie: Avec mes amitiés au passage, comme tu t'endoutes.:)

Etant un fan des ListView, je les utilise beaucoup.

Le problème que j'ai rencontré avec 2010 a été résolu (Cf. beaucoup de fils à ce sujet)
C'est O.K. pour 2003 et 2010, comme pour la majorité des XLDNautes.

Sauf que par expérience, je sais que l'adaptation vers une version2007 est imbuvable,
sinon impossible sans triffouiller la base de registre, de plus avec résultat incertain !

Il en va pour exemple, qu'il m'a été impossible d'ouvrir ton Fichier avec l'une ou l'autre de mes deux versions.

Dommage! J'aurais aimé participer à ce Fil car j'ai un peu travaillé sur ce sujet.

Amicalement,

Yves
 

ChTi160

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Bonjour Yves ,
Le Fil
Le Forum

j'utilise Office 2007
et voila ce que j'obtiens .
dommage que cela ne fonctionne pas avec d'autres version ???????
Le Calendrier
Calendrier C@thy.png
Bonne Journée
Amicalement
Jean Marie
 

ChTi160

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Bonjour Bebere
qu'entends tu par "la liste du nom des objets de userform" , veux tu parler des références ???
des que je sais ce que tu veux pas de problème lol
Merci par avance
Amicalement
Jean Marie
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Bonjour Jean-Marie, Bebere, et à ceux qui passeront par là,

Voici la renaissance d'un Fil fort sympathique.:)

J'avais fait ce Fichier, voici déjà un morceau de temps;
puis abandonné car il m'avait été laissé entendre, parailleurs,
que ce que l'on trouvait de-ci de -là était bien suffisant.

Je le joins cependant au cas où il puisse servir.

Un Click bouton droit sur une date donne les anniversaires ainsi que les autres fêtes du jour.
(Les jours fériés sont en vert foncé, mais l'on peut changer les couleurs)

Pour l'instant, ce n'est qu'amusant!
Mais il serait facilement possible d'ajouter certaines fonctionnalités,
comme notamment des R.D.V. ou Dates Alertes.

Bon! Mais on ne va pas réinventer ce que savent faire beaucoup de Smart phones.

Amicalement,

Yves
 

Pièces jointes

  • AGENDA_25_08.xls
    304 KB · Affichages: 373

ChTi160

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Re Yves
Une petite question
Comment fait on pour fermer le Userform
je n'y arrive pas Lol je suis sur un extra Portable et je ne vois pas tout le Userform arffffffffffffffffff
Merci
Amicalement
Jean Marie
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Aie! Jean-Marie…:eek:

Ce qui laisse entendre un problème de dimensionnement del'USF par rapport à ton écran.

Normalement tu devrais voir un rond rouge avec une croix en bas à droite.
Tu as donc été contraint de le déplacer. N'est-il pas?

Vois-tu au moins les 31 èmes jours?

Merci pour ta réponse.

Amicalement,

Yves
 

ChTi160

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Re
Effectivement , j'ai modifié (avant l'ouverture) la position du Bouton et SpinButton , j'ai réduis la taille des caractères et tout et OK
Bel Ouvrage que ce Calendrier
Bonne fin de Journée
Amicalement
Jean Marie
 

Bebere

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Jean Marie
Les noms que tu as donné aux objets(surtout listview)
juste pour ma faciliter la vie
je dois garnir l'userform de listview(ce serait une cerise sur le gâteau)
Yann
j'ai aussi un problème de dimension
je ne vois pas tous les jours et 1/2spinbutton

j'ai trouvé ce code,pas encore eu le temps de tester
Code:
'userform redimentionable avec les controls redimentionnables
'Createur Patricktoulon
'Date de Creation:26.06.2012
' Pour codesource
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function ShowWindow Lib "User32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Sub UserForm_Initialize()
'on determine le handle
handle= FindWindow(vbNullString, Me.Caption)
' on ajoute les deux boutons manquants et l'élasticité a la caption de l'userform
SetWindowLong handle, -16, GetWindowLong(handle, -16) Or &H70000
' affiche directement le userform en plein ecran et donne le focus a l'userform ( en avant de toute les autres)
ShowWindow handle,3
For Each ctrl In Me.Controls
' On se sert du tag pour memoriser les dimension des controls separé par un double point
ctrl.Tag = Me.Height / ctrl.Height & ":" & Me.Width / ctrl.Width & ":" & Me.Width / ctrl.Left & ":" & Me.Height / ctrl.Top
If TypeName(ctrl) = "CommandButton" Or TypeName(ctrl) = "Label" Or TypeName(ctrl) = "TextBox" Then ctrl.Tag = ctrl.Tag & ":" & Me.Width / ctrl.Font.Size
Next
End Sub
Private Sub UserForm_Resize()
For Each ctrl In Me.Controls
'le tag comporte les diviseurs de l'userform pour obtenir les dimension du control
ctrl.Move Me.Width / Split(ctrl.Tag, ":")(2), Me.Height / Split(ctrl.Tag, ":")(3), Me.Width / Split(ctrl.Tag, ":")(1), Me.Height / Split(ctrl.Tag, ":")(0)
If TypeName(ctrl) = "CommandButton" Or TypeName(ctrl) = "Label" Or TypeName(ctrl) = "TextBox" Then ctrl.Font.Size = Me.Width / Split(ctrl.Tag, ":")(4)
Me.Repaint
Next
End Sub
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : créer un calendrier dans un UserForm

Bonjour Bebere,Yves
Le Fil
Le Forum

ci joint les noms des différents éléments
En partant de la Droite du Userform voir l'image

VB:
en haut à Droite  Lbl_DateActuelle  à coté un
TxtB_Year   place sur un  ScrollB_Year
sous les listView en partant de la droite
ChckB_Mois  puis
ChckB_WeekEnd  puis
ChckB_Feries  sous lequel est placé le
lbl_Date
ici les noms des listView
VB:
LstV_Lundi ' listView des Lundi
LstV_Mardi 'Des Mardi
LstV_Mercredi 'Etc
LstV_Jeudi
LstV_Vendredi
LstV_Samedi
LstV_Dimanche
LstV_Sem
LstV_Month

n'hésite pas si besoin
Merci par avance
Amicalement
Jean Marie
 
Dernière édition:

ChTi160

XLDnaute Barbatruc

Pièces jointes

  • Procedures sur dates test(31.1).xls
    706 KB · Affichages: 147
Dernière édition:

Discussions similaires

Réponses
0
Affichages
360

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 771
Messages
2 112 768
Membres
111 653
dernier inscrit
Vanie0082