Création calendrier userform par macro
#1
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 01-07-2008 23h44
Bonsoir tout le monde!!!

Tout d'abord félicitation pour ce site!!!

Mon problème :

Je souhaite insérer dans une feuille excel un calendrier de type userform (comme le mdf calendrier) exactement comme la fait la personne qui a posté le ficher excel suivant ce lien mais pour une seule cellule:

http://www.excel-downloads.com/remosi ... jets/Planning-projet.html

C'est à dire qu'un bouton dans la cellule C4 du fichier joint permette par macro d'afficher le calendrier et que la date sélectionnée s'affiche dans la même cellule puis que le calendrier redisparaisse.

J'ai cherché à le faire par moi même (et non par l'utilisation de la macro complémentaire) mais n'étant pas un pro de la programmation je n'y arrivais pas. Je commencais à désespérer quand j'ai vu le mdf calendar. Je me suis dits que la personne qui l'avais créé (ou d'autres^^) pourrait enfin m'expliquer les differentes étapes et lignes de programmation pour faire exactement comme dans le fichier joint.

Merci d'avance pour votre aide

Cordialement,

Lannou




Pièce jointe:
xls Classeur1.xls   [ Taille: 13.50 Ko - Téléchargements: 1882 ]
Edité par myDearFriend! le 07/07/2008 14:34:29
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1521

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 02-07-2008 00h29
Bonsoir lannou,

Dans ton fil sur XLD, tu précises que tu souhaites réaliser un calendrier de type Userform avec contrôle activeX MScalendar (et non le mDF Calendrier ou le mDF XLcalendar son successeur) car c'est pour un besoin professionnel, tu as le choix, c'est OK. Mais avant tout, je tiens à t'avertir que l'usage du contrôle activeX MScalendar requiert le fichier MSCAL.OCX correspondant sur chaque poste de travail qui utilisera ton fichier (le principe reste d'ailleurs le même pour les macros complémentaires).
Sache également que ce fichier .OCX est livré avec MS Access uniquement, aussi, un ordinateur ne possédant pas Access, ne possèdera pas le contrôle activeX nécessaire. Par ailleurs, chaque version Excel possède sa propre version du fichier MSCAL.OCX (version 11 pour ton Excel 2003 par exemple) ce qui peut occasionner quelquefois de mauvaises surprises.
Pour la petite histoire, c'est compte tenu de ces contraintes que j'avais créé le mDF Calendrier à l'origine, car celui ci n'utilise pas ce contrôle ActiveX particulier.

Cela dit, si tu as bien pris en compte ces alertes et que tu souhaites poursuivre ton projet dans ce sens, je te confirme que ce que tu demandes est réalisable (il faudra toutefois trouver une autre solution que les boutons dans chaque cellule de date, surtout si tu as un grand nombre de lignes, car ça, ce n'est vraiment pas une bonne idée... n'en déplaise à l'auteur du classeur que tu indiques).

Cordialement,





Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#3
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 02-07-2008 10h14

Bonjour!

Merci pour ta réponse et tes conseils avisés, et ouf ce que je veux faire est possible !

 

Ton mdf calendrier est super, je n’ai rien à redire mais plutôt que de l’utiliser je préférerai afficher le calendrier par macro ne serait ce que pour avoir appris un truc supplémentaire sur Excel et me coucher moins bête le soir quand j’aurai la solution !


Je suis d’accord avec toi pour dire que s’il y a un grand nombre de ligne ca ne sert à rien de mettre des boutons. Toutefois je ne le ferai que sur une ligne d'où l'intérêt du bouton! L’autre intérêt est le côté ergonomique de la chose car le fichier Excel sera rempli par d’autres personnes que moi !

J'ai un peu avancé depuis hier soir, je vous joints mon fichier de travail. Lorsque l'on clique sur le bouton que j’ai créé, le calendrier s’affiche. Cependant, lorsque l’on clique sur une date elle ne s’affiche pas dans la cellule. Quelles lignes de code dois je rentrer ?

 

Merci pour votre aide !!!
Pièce jointe:
xls Classeur1.xls   [ Taille: 29.00 Ko - Téléchargements: 1889 ]
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#4
Débutant XLPages

Inscription: 16/03/2008

Messages: 6

Posté le : 02-07-2008 16h39
Bonjour MDF, Lannou et le Forum,

Il suffit de placer ce code dans le module de code du formulaire :

Option Explicit
Private Sub Calendar1_DblClick()
  ActiveCell = Calendar1.Value 'renvoie la date s?ctionn?dans la cellule active
  Unload Me 'fait dispara?e le formulaire
End Sub

Private Sub UserForm_Initialize()
  Calendar1.Value = Date 's?ctionne la date du jour ?'initialisation du calendrier
End Sub
 
Après quoi, un double clic sur la date choisie et elle s'insèrera dans la cellule active

A+

Marco
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#5
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 03-07-2008 13h44

Bonjour à tous!

Merci Marco pour ta réponse! J'ai rentré le code mais cela ne fonctionne pas comme tu peux le constater par le fichier excel ci-joint.

Je pense que c'est parceque je n'ai pas défini de cellule cible. Je veux que ce soit la C4, comment je fais pour la définir?

Pièce jointe:
xls Classeur1.xls   [ Taille: 35.50 Ko - Téléchargements: 1507 ]
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#6
Accro XLPages

Inscription: 23/05/2007
De Chamrousse

Messages: 309

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 03-07-2008 16h29
Bonjour à tous,
Salut Marco


Marco57 avait pourtant spécifié qu'il fallait mettre le code dans le module de l'USF


Private Sub Calendar1_DblClick()
  [C4] = Calendar1.Value 'renvoie la date sélectionnée dans la cellule active
  Unload Me 'fait disparaitre le formulaire
End Sub

Private Sub UserForm_Initialize()
  Calendar1.Value = Date 'sélectionne la date du jour à l'initialisation du calendrier
End Sub



A++ Marco
A+ à tous

Pièce jointe:
zip Classeur1 V1.zip   [ Taille: 53.01 Ko - Téléchargements: 1939 ]


Cordialement
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#7
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 03-07-2008 22h33
Bonjour à tous!

Merci à toi JCGL pour l'imprime écran qui m'a aidé à piger...
Effectivement marco l'avait dit mais des phrases comme " Il suffit de placer ce code dans le module de code du formulaire" ou  "marco avait dit qu'il fallait mettre le code dans le module de l'USF", je ne comprends pas ! Je suis vraiment novice dans le vba

Donc un grand merci à vous trois pour m'avoir aidé! C'est vraiment sympa de votre part! Ce forum est vraiment super! J'aurai un pris un truc !!!

Vu qu'en ce moment je bosse pas mal sur excel, je ferai sans doute appel à vos talents!

Encore merci!

PS : juste une petite question avant de clore le sujet, savez vous comment je peux faire pour intégrer le bouton de la macro dans la cellule C3?

++
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#8
Accro XLPages

Inscription: 23/05/2007
De Chamrousse

Messages: 309

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 03-07-2008 22h47
Bonjour à tous,

Entièrement d'accord avec toi mon cher lannou : Marco aurait pu être plus explicite...
Arf et moi aussi .

Pour ton bouton : Clique droit sur le sus nommé et tu le déplaces où tu veux.

Au plaisir de te lire
A+ à tous


Cordialement
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#9
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1521

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 03-07-2008 23h04
Bonsoir lannou, Marco57, JCGL,

J'ajoute qu'étant novice en VBA lannou, tu es le bienvenu dans le Forum intitulé "Espace Débutants" pour tes prochaines questions, ce qui aiderait sans doute les intervenants à adapter leur réponse au mieux.

Si tu estimes que la réponse de nos amis te convient, je te remercie effectivement de solder le présent fil de discussions et d'en faire de même avec le fil d'XLD que tu avais ouvert. Comme ça, la boucle sera bouclée.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Création calendrier userform par macro
#10
Aspirant XLPages

Inscription: 01/07/2008

Messages: 32

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 05-07-2008 21h51
Bonjour à tous!

OK ca marche Didier, la prochaine fois je posterai ds la l'autre partie du forum.

JCGL, pas de soucis pour déplacer le bouton. Par contre ce que je cherchais à faire c'est l'incorporer dans la cellule C3 comme c'est fait dans le fichier excel présent au lien indiqué dans le premier poste. Savez vous comment faire?

Après, promis Didier je clos les deux discussions!!!

Bon week end à vous

@ pluche
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes