Calendrier Mardi au Lundi

Xtian_Québec

XLDnaute Occasionnel
Salut le Forum, j'ai un problème avec un calendrier. J'ai développé un fichier avec une zone de saisie "date" qui affiche un UF calendrier lorsque la cellule est sélectionnée (avec Workbook_SelectionChange). Lorsque la date est sélectionnée dans le calendrier, cette date s'inscrit dans la cellule concernée.

Mon problème est que, dans mon fichier, sur mon poste de travail, le calendrier affiche la semaine du dimanche au samedi. J'ai transféré ce fichier sur un autre poste de travail et le même calendrier, lorsqu'il est activé, affiche la semaine du mardi au lundi...

Je ne comprends pas pourquoi. Quelqu'un a une idée pour que le calendrier affiche la semaine du dimanche au lundi sur tous les postes de travail ? Est-ce qu'il s'agit de la configuration du poste de travail ou il existe un code pour forcer l'affichage désiré ?

Comme d'habitude, un gros merci pour vos suggestions.

Xtian_Québec
@+++
 

Spitnolan08

XLDnaute Barbatruc
Re : Calendrier Mardi au Lundi

Re,

Cela dépend certainement du type de calendrier que tu utilises. Mais regarde du côté des proriétés et indique le jour que tu veux dans la propriété FirstDay.

ou dans ton code : calendar1.firstday= "Lundi" ou similaire...

Cordialement
 

Xtian_Québec

XLDnaute Occasionnel
Re : Calendrier Mardi au Lundi

Re Spitnolan08, j'ai ajouté le code suivant dans

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Me.Caption = "Calendrier"
Calendar1.FirstDay = "Dimanche"
Calendar1.Today
End Sub

et j'ai le message d'erreur suivant:
Erreur d'exécution '13'
Incompatibilité de type

J'ai également vérifié pour modifier les propriétés "Firstday" mais je n'ai pas cette option dans ma fenêtre propriétés de mon UF. J'ai récupéré ce calendrier sur le forum il y a plusieurs mois, je crois qu'il s'agit d'un calendrier développé à partir d'un UF et non un calendrier de la liste d'objet Excel...

Si je peux ajuster mon calendrier actuel, ce serait bien, sinon, que dois-je faire pour convertir et utiliser un calendrier, style ActiveX ?

Voir fichier joint avec mon calendrier...

Merci de ton aide

Xtian_Québec
@+++
 

Pièces jointes

  • TestCalendrier.xls
    31.5 KB · Affichages: 62
  • TestCalendrier.xls
    31.5 KB · Affichages: 57
  • TestCalendrier.xls
    31.5 KB · Affichages: 62

Pierrot93

XLDnaute Barbatruc
Re : Calendrier Mardi au Lundi

Bonjour Xtian, Spitnolan

essaye peut êtr"e de mettre le code ci dessous lors de l'initialisation de ton USF :

Code:
Calendar1.FirstDay = 2

calendar1 étant de nom du calendrier, 2 étant le lundi, 1 le dimanche, 3 pour mardi etc...

bonne fin de journée
@+
 

Xtian_Québec

XLDnaute Occasionnel
Re : Calendrier Mardi au Lundi

Re Spitnolan08 et Pierrot93,

J'ai effectivement retracé les propriétés de Calendar1 et je retrouve "Dimanche" dans FirstDay. J'ai essayé de modifier ce jour pour voir le résultat et effectivement, si je met Lundi, le Calendar1 commence le lundi.

Par contre, en éditant les propriétés de mon UF, je remarque qu'il esixte 2 calendrier dans ma liste déroulante en haut de la fenêtre propriété
1) Calendar1 calendar
et
2) frmCalendar UserForm

Dans Calendar1 calendar, j'ai l'option Firstday qui indique dimanche
Dans FrmCalendar UserForm, je n'ai pas cette option.

J'ai fait un test, j'ai modifié Firstday pour mercredi dans les propriétés de mon Calendar1 calendar, je vois dans VB que mon calendrier affiche mercredi comme premier jour. Si je regarde les propriétée de mon UF dans VB, le calendrier m'affiche également mercredi. Je ferme VB et j'exécute mon code et le calendrier affiche dimanche ???

Si je comprends bien, le UF frmCalendar contient un calendrier qui se nomme Calendar1. Donc, si je change les propriétés de mon Calendar1, le calendrier appelé par mon code via le UF devrait afficher le jour choisi dans Firstday. Ce n'est pas le cas et je ne comprends pas...

Pour la solution de Pierrot93, j'ai tenté de modifier mon code avec ta suggestion et aucun changement dans le calendrier...la logique est OK alors pourquoi le calendrier ne considère pas le FirstDay = 2 ? J'ai essayé FirstDay = "mercredi", même résultat...

Peut-être que le problème se trouve à 50 cm devant mon écran:confused: .Si vous effectuez des tests avec mon fichier joint et que vous réussisez à régler l'affichage, je suis preneur.

Merci encore de votre aide

Xtina_Québec
+++
 

Spitnolan08

XLDnaute Barbatruc
Re : Calendrier Mardi au Lundi

Re,
Bonjour Pierrot
Ajoutes, comme l'a indiqué justement Pierrot, dans ton code la ligne suivante au début de ta procédure d'initialisation et ton problème sera résolu. Ton calendrier s'affichera à partir du dimanche.
Code:
    Calendar1.FirstDay = 7
Cordialement
 

Xtian_Québec

XLDnaute Occasionnel
Re : Calendrier Mardi au Lundi

Re Spitnolan08

j'ai ajouté Calendar1.FirstDay = 7 dans mon code et mon calendrier affiche dimanche comme premier jour. Par contre, si je change la valeur à 5, le calendrier devrait afficher vendredi hors mon calendrier affiche encore dimanche...pourquoi ?

Merci

Xtian_Québec
+++
 

Spitnolan08

XLDnaute Barbatruc
Re : Calendrier Mardi au Lundi

Re,

Je ne sais pas ce que tu bidouilles... ou sur quel matériel piqué aux russes :D tu travailles, mais lorsque tu mets la valeur 5 le calendrier débute à vendredi...

Pourtant ce n'est pas encore l'heure de l'apéro:p
Cordialement
 

Xtian_Québec

XLDnaute Occasionnel
Re : Calendrier Mardi au Lundi

Re Spitnolan08 et pierrot93

j'ai effectué un test et lorsque j'actionne mon code avec la valeur 5 et que je vais dans VB pour voir mon UF et le calendrier, les deux affichent mercredi comme premier jour ce qui correspond à la valeur de mon code...

par contre, dans ma feuille excel, le calendrier affiche toujours dimanche lorsque je sélectionne ma cellule C3...je ne comprends pas que mon UF et mon calendrier ont la propriété "mercredi" et l'affichage dans excel affiche "dimanche"

bizarre non ???

Xtian
 

Spitnolan08

XLDnaute Barbatruc
Re : Calendrier Mardi au Lundi

Désolé,

MAis tout fonctionne impec chez moi... mais ce n'est pas du matériel chinois;)
donc je n'ai pas de réponse à tes interrogations.

N'as tu pas plusieurs fichiers ouverts avec des calendriers qui pourraient interférer entre eux ?

Cordialement
 

Xtian_Québec

XLDnaute Occasionnel
Re : Calendrier Mardi au Lundi

Re Spitnolan08

À ta question, non, je n'ai que le petiot fichier test actif...

Je viens de revérifier les propriétés de mon calendrier...Le code ne change pas les propriétés de mon calendrier...Il affichait "mercredi" car j'avais effectué ce changement "manuellement" dans les propriétés pour effectuer des tests d'affichage...même si j'ajoute le code Calendar1.FirstDay = 7, les propriétés de FirstDay dans les propriétés de mon calendrier demeure inchangées...

En plus, même si je met manuellement "mercredi" dans FirstDay, mon calendrier affiche toujours "dimanche"...Pourtant, je n'ai qu'un calendrier dans mon fichier donc le code devrait s'appliquer à ce calendrier...

Je suis vraiment perdu, je ne suis pas expert mais une chose simple comme ça, je devrais comprendre et là, je n'y comprends rien...


Merci encore de m'éclairer

Xtian
 

Spitnolan08

XLDnaute Barbatruc
Re : Calendrier Mardi au Lundi

Re,
dernière tentative :
Tu as bien mis ce code ?
Code:
Private Sub UserForm_Initialize()
    Me.Caption = "Calendrier"
    Calendar1.FirstDay = 5
    Calendar1.Today
End Sub
Il ne modifie pas les propriétés affichées de ton calendrier dans VBE mais modifie les propriétés lors de l'affichage réel quelle que soit la valeur figurant dans les propriétés de ton UF. (Je ne suis aps sur d'être bien clair là...:D )

Cordialement
 

Xtian_Québec

XLDnaute Occasionnel
Re : Calendrier Mardi au Lundi

Re,
Pour m'assurer de la validité du code, j'ai fait un copier-coller du code dans ta dernière réponse et malheureusement :( le résultat est le même...

Dernière tentative ici aussi, je te joins la dernière version de mon fichier...Pourrais-tu me dire ce qui s'affiche lorsque tu sélectionnes la cellule C3 ?

Moi ici, lorsque j'actionne la cellule C3, mon calendrier affiche "dimanche" comme premier jour...

J'ai mis les propriétés dans VB comme suit:
1) pour calendar1 calendar, FirstDay = mardi (je l'ai sélectionné à partir de la liste déroulante dans FirstDay.)
Mon calendrier Calendar1 calendar dans VB affiche maintenant mardi comme premier jour.
2) Maintenant, lorsque je sélectionne frmcCalendar UserForm en haut de ma boîte de propriétés, le calendrier affiche également mardi comme premier jour.

Le code réfère à Calendar1.FirstDay = 5 dans UserForm_Initialize.

Donc, même si mon calendrier utilise la référence "mardi", le code devrait faire en sorte que le calendrier affiche "vendredi" si C3 est sélectionné.

Moi j'ai dimanche :(
Toi ???

Merci d'effectuer ce petit test avec le fichier joint,

Xtian
 

Pièces jointes

  • TestCalendrier.xls
    32.5 KB · Affichages: 51
  • TestCalendrier.xls
    32.5 KB · Affichages: 58
  • TestCalendrier.xls
    32.5 KB · Affichages: 59

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87