Microsoft 365 Adaptation d'un Userform calendrier

Gen Rose

XLDnaute Impliqué
Supporter XLD
Bonjour tlm,
Le forum,

J'ai trouvé un userform de calendrier (datepicker) dans les ressources créé par @Dudu2.

J'ai commencé à adapter le tout à mon document afin de faciliter le choix de date pour les gens.
En ce moment, j'ai créé une zone test en H qui copie essentiellement la colonne E sur la feuille "Consultation".

J'ai plusieurs problèmes et j'ai besoin de votre aide.
Les voici:
  • Le format de date n'est pas reconnu (H4) et la formule matricielle en H8 ne fonctionne pas;
  • Si j'ajoute une colonne dans cette page, cela la corrompt en entier et même ma colonne en E ne fonctionne plus;
  • Si je tente de modifier l'apparence du userform (couleur) , il ne fonctionne plus; et
  • j'ai un problème de liaison probablement lié quelque part dans le code (version?)
J'ai utilisé le document original et retiré ce qui n'était pas nécessaire en prenant soin de tout garder (j'ai ajouté un apostrophe devant les lignes non-nécessaires).

Mon objectif est que mes formules matricielles fonctionnent, que le format de date soit le bon et de modifier l'apparence du calendrier.

Merci infiniment à tous ❤️
 

Pièces jointes

  • Test_Macro_Calendrier.xlsm
    66 KB · Affichages: 14
Solution
re
c'est donc le theme XLD(avec les couleur du forum ;) )
ben voila
juste pour info je ne l'ai pas fait mais tu aurais pu coder l'appel tout simplement comme ca dans test2
VB:
Sub test2() 'test de la fonction showx
    [E4].Value = Calendar.ShowX([E4], 2, 0, 1)
End Sub
demo.gif

patricktoulon

XLDnaute Barbatruc
c'est peut etre une version limité que tu a d'excel du genre student ou autres
ça me désole pour toi
par contre rien ne t’empêche de le faire du calendar dans le vbe
il y a moins de choix de couleur mais bon c'est mieux que rien

par contre ca m'ennuie que tu laisse ce fichier qui n'est pas l'original dans le post#21
tu peux mettre le lien vers l'original si tu veux mais je préfère que l'on prenne l'original
merci de ta compréhension
 

patricktoulon

XLDnaute Barbatruc
re
c'est donc le theme XLD(avec les couleur du forum ;) )
ben voila
juste pour info je ne l'ai pas fait mais tu aurais pu coder l'appel tout simplement comme ca dans test2
VB:
Sub test2() 'test de la fonction showx
    [E4].Value = Calendar.ShowX([E4], 2, 0, 1)
End Sub
demo.gif
 

Pièces jointes

  • Calendrier_envois_VF +calendar theme XLD.xlsm
    93.9 KB · Affichages: 5
Dernière édition:

Gen Rose

XLDnaute Impliqué
Supporter XLD
re
c'est donc le theme XLD(avec les couleur du forum ;) )
ben voila
juste pour info je ne l'ai pas fait mais tu aurais pu coder l'appel tout simplement comme ca dans test2
VB:
Sub test2() 'test de la fonction showx
    [E4].Value = Calendar.ShowX([E4], 2, 0, 1)
End Sub
Regarde la pièce jointe 1177541
Je ne sais pas comment te remercier @patricktoulon 🥹
Je te suis sincèrement reconnaissante pour ton aide.

J'ai testé et tout fonctionne bien ici sauf pour un détail que je n'arrive pas à corriger (même en ajustant le format de date): Ici nous utilisons le format aaaa-mm-jj

Comment puis-je le modifier? Le formatage habituel s'efface à chaque activation de la macro et à l'intérieur de celle-ci, je n'ai pas réussi à modifier ce qu'il faut. Je crois que ce n'est pas le bon endroit pour faire cette correction.

Merci ☺️
 

patricktoulon

XLDnaute Barbatruc
re
ben c'est simple c'est le format US(0 : etats unis) ou CA( 2: canada) ou QUEBEC(22 :l communauté francaise au Canada)

alors pour être plus précis

si tu le veux en anglais avec format "aaaa-mm-jj" c'est
[E4].Value = Calendar.ShowX([E4], 2, 0, 0)

si tu le veux en français mais toujours le format "aaaa-mm-jj" c'est le format canada
[E4].Value = Calendar.ShowX([E4], 2, 0, 2)

si tu fonctionne dans la communauté française du Québec mais toujours le format "aaaa-mm-jj" et que vous respectez le calendrier des fériés français alors c'est le format Québec
[E4].Value = Calendar.ShowX([E4], 2, 0, 22)
 
Dernière édition:

Gen Rose

XLDnaute Impliqué
Supporter XLD
re
ben c'est simple c'est le format US(0 : etats unis) ou CA( 2: canada) ou QUEBEC(22 :l communauté francaise au Canada)

alors pour être plus précis

si tu le veux en anglais avec format "aaaa-mm-jj" c'est
[E4].Value = Calendar.ShowX([E4], 2, 0, 0)

si tu le veux en français mais toujours le format "aaaa-mm-jj" c'est le format canada
[E4].Value = Calendar.ShowX([E4], 2, 0, 2)

si tu fonctionne dans la communauté française du Québec mais toujours le format "aaaa-mm-jj" et que vous respectez le calendrier des fériés français alors c'est le format Québec
[E4].Value = Calendar.ShowX([E4], 2, 0, 22)
J'ai ajouté tout cela en note dans le module et je garde précieusement, merci ☺️

Je suis maintenant à la recherche de la méthode pour positionner le calendrier tout près de la cellule visée.
Je parcours en ce moment différents fils depuis de bonne heure ce matin, j'ai fait des test mais c'est très complexe et pas concluant. Je vais donc plutôt me diriger vers YouTube afin de voir s'il n'y a pas un tuto pour ajouter cette commande au VBA déjà en place.

Comme il y a des centaines de tutos, est-ce que tu pourrais me pointer vers une ressource pédagogique? Je suis ultra débutante mais intéressée à comprendre davantage.

En tout les cas, je te suis très reconnaissante pour tout @patricktoulon
Quel bonheur d'avoir ton aide et tes conseils :)
 

patricktoulon

XLDnaute Barbatruc
re
Code:
Je suis maintenant à la recherche de la méthode pour positionner le calendrier tout près de la cellule visée.
Je parcours en ce moment différents fils depuis de bonne heure ce matin, j'ai fait des test mais c'est très complexe et pas concluant. Je vais donc plutôt me diriger vers YouTube afin de voir s'il n'y a pas un tuto pour ajouter cette commande au VBA déjà en place.
mon calendar le fait déja çatu le vois qu'il est bien a droite et au même top que la cellule non ?
🤣 🤣
si tu le veux carrément au même left et top que la cellule c'est
[E4].Value = Calendar.ShowX([E4], 0, 0, 2)

je ne vois pas ce que tu cherche d'autre tout est automatique avec mon calendrier

maintenant si tu veux la même chose pour l'appliquer a un autre userform
va voir ici c'est l'ancienne methode j'ai fait plus simple depuis mais bon c'est formateur

 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 240
Membres
103 162
dernier inscrit
fcfg