Calendrier

1

Bonjour

est-ce possible de faire afficher un calendrier dans une cellule pour y changer la date

en c10-12-14-16-18-20


voici le lien

http://www.cjoint.com/c/GKsmolfjU6u


merci


    Posté le 18 novembre 2017, 13:16
    par guyguay
    Répondre
    0

    Bonjour guyguay,

    Je te propose ce fichier Excel : https://mon-partage.fr/f/lgL9yvUg/

    C'est un fichier .xlsm car il contient du code VBA (tu comprendras
    plus loin pourquoi c'est nécessaire)
    .

    -----------------------------------------------

    Pour réaliser ta demande, j'ai ajouté ce contrôle ActiveX :
    « Microsoft Date and Time Picker Control 6.0 (SP6) ».

    Si tu as comme moi Excel 2007, alors tu n'as rien à faire de spécial
    dans le sens où ce contrôle est déjà disponible par défaut.

    Je pense que c'est idem pour les versions ultérieures ; s'il n'est pas
    disponible, il faudra l'installer à partir d'internet.

    -----------------------------------------------

    ATTENTION : l'affichage de ce contrôle est instable car sans ajouter
    le code VBA nécessaire, il y a un changement d'affichage inadéquat,
    qui donne un très mauvais effet visuel : la case de la liste déroulante
    se dédouble et l'une est décalée par rapport à l'autre ; et une reste
    une vraie case de liste déroulante alors que l'autre n'est qu'un effet
    visuel de mauvais aloi : c'est une sorte de « rémanence ».


    Le code VBA inclus dans ThisWorkbook, sub Workbook_Open()
    y remédie, mais ça m'a obligé à convertir ton fichier .xlsx en
    fichier .xlsm, car un fichier .xlsx ne peut pas contenir de macro.

    Grâce à ce code VBA, tu ne te rendras même pas compte du
    désagrément visuel que j'ai évoqué : c'est ok dès l'ouverture
    du fichier !  ;)

    -----------------------------------------------

    Le problème d'instabilité d'affichage étant réglé, voyons la suite :

    Le contrôle est visible en haut de la colonne C, et la cellule liée correspondante

    est la cellule C2 ; la date est au 06/11/2017 ➯ 06/11/2017 en C2, mais pour
    éviter un affichage double de cette date, j'ai mis une couleur de police (texte)
    « blanc » pour que le contenu de C2 ne se voit pas (car sur un fond blanc) :
    si tu veux, c'est comme le style « caméléon » (une nouvelle mode ultra-chic
    de la jet society, il paraît)
    .  ;P

    J'ai essayé de mettre à la cellule liée un format personnalisé pour avoir
    « lundi 6 novembre 2017 », mais ça ne tient pas : si on sélectionne une
    autre date, ça revient au format JJ/MM/AAAA sans tenir compte du
    format personnalisé : instable aussi ! mais avec ce que j'ai fait, c'est ok.

    Il y a donc un seul contrôle, qui est au 06/11/2017 ; en C10 : =--C2
    ⚠  Ne mets pas =C2 car sinon, là aussi, ça ne tiendra plus compte
    du format personnalisé et le format JJ/MM/AAAA sera appliqué.

    -----------------------------------------------

    Il semble que tu voulais un calendrier dans chacune de ces cellules :
    C10, C12, C14, C16, C18, C20 (soit 6 contrôles Date Picker) ;
    vu le contexte, c'est inutile, et ce qui suit est bien plus simple :

    En C12 : =C10+1
    En C14 : =C12+1
    En C16 : =C14+1
    En C18 : =C16+1
    En C20 : =C18+1

    -----------------------------------------------

    Bien que le nom du fichier soit "Du 20 au 24 Nov 2017(.xlsm)",
    j'ai volontairement mis une mauvaise date au 06/11/2017 ;
    à toi de la changer en sélectionnant le 20 (novembre 2017) ;
    tu pourras voir que tout s'adapte correctement grâce aux
    formules vues ci-dessus.

    Seule contrainte : l'utilisateur doit choisir une date uniquement dans
    la 1ère colonne du calendrier, puisque c'est la colonne réservée pour
    un Lundi ; rien ne l'empêche de choisir dans une autre colonne, mais
    par exemple un « jeudi 23 novembre 2017 » en C10, ça ferait plutôt
    un mauvais effet, car à droite de A10 = « LUNDI » !  ;)

    -----------------------------------------------

    Si tu veux ajouter du code VBA pour refuser une date qui n'est pas celle d'un
    Lundi, je t'en laisse le soin : moi, j'ai reporté ça à la semaine des 4 jeudis...  ;P
    (si tu connais pas l'expression, c'est comme à la Saint Glin Glin ; une sorte
    d'Arlésienne, quoi !)

    -----------------------------------------------

    J'espère que ma solution te plaira.
    Merci de me donner ton avis.

    Cordialement

    rhodo Posté le 18 novembre 2017, 18:11
    par rhodo
    0

    Merci beaucoup pour ton travail, mais c'est vraiment trop elaboré pour moi.

    ce que je cherche doit rester tres simple


    si il faut modifier le fichier pour que ca fonctionne, alors proposer moi quelque chose


    j'utilise office 2016


    merci

    Posté le 18 novembre 2017, 18:28
    par guyguay
    • Je viens de voir ta réponse ; en fait, c'est seulement les explications techniques qui sont compliquées ; donc oublie-les : tu as juste à utiliser le fichier tel quel : ouvre le fichier, et avec la liste déroulante du calendrier, il te faut juste choisir le lundi qui te convient ; et c'est tout, rien de plus ! ;)  si ma solution te convient, tu peux mettre la note +1 à mon message précédent (merci d'avance si tu le fais) ; je ne pense pas qu'il y aie de solution plus simple, et en principe, ça devrait marcher aussi pour ton Excel 2016 ; cordialement. – rhodo 18 novembre 2017, 18:40
    0

    quand j'ouvre le fichier j'ai un message d 'erreur de complilation

    je dois cliquer sur ok et a cahque fois une page vba reste ouverte

    est-ce normal

    ensuite je ne vois pas la liste deroulante du calendrier

    Posté le 18 novembre 2017, 19:22
    par guyguay
    • Ah non ! ce n'est pas normal, si tu as un message d'erreur de compilation !!! chez moi, ça ne le fait pas !!! quel est ce message d'erreur ? dans le code VBA, quelle est la ligne mise en jaune ? mais déjà, je crains que la bibliothèque contenant le contrôle ActiveX mentionné soit absente de ta version 2016 ; si oui, tu devras donc l'installer à partir d'internet ; à te lire. – rhodo 18 novembre 2017, 19:51
    0
    1

    @guyguay

    J'ai vu tes 2 copies d'écran ; DP01 est le nom que
    j'ai donné au contrôle calendrier mis en cellule C2.

    Regarde ces 3 copies d'écran :

    https://mon-partage.fr/f/MNeXihT0/
    https://mon-partage.fr/f/YuwyjHt7/
    https://mon-partage.fr/f/W2noU21y/

    Je viens de voir sur internet qu'Excel 2016 ne comporte pas la bibliothèque
    « Microsoft Date and Time Picker Control 6.0 (SP6) ».

    C'est bien typique de Microsoft, ça, d'enlever sans prévenir dans les nouvelles versions
    ce qui plaisait bien avant ! tout comme le menu Démarrer de Windows 7 qui était très
    bien fait et plaisait à tous ! perso, j'ai gardé Windows 7, et je n'ai jamais pris aucune
    version ultérieure : ni 8.0 ; ni 8.1 ; ni 10 !!! heureusement !!! d'ailleurs, même cadeau,
    j'en voudrai pas !!!  ;)

    À tout hasard, regarde si cet autre lien peut t'aider :

    https://forum.excel-pratique.com/applications/calendrier-autonome-sans-module-microsoft-t72229.html

    Perso, j'avais failli acheter Office 2016, mais plus j'en lis sur ce sujet et plus
    je me félicite d'y avoir renoncé !!! Ouf ! que de galères j'me suis évité !!!  :)
     

    rhodo Posté le 18 novembre 2017, 20:42
    par rhodo
    -3

    alors merci

    je suis decu que ca ne fonctionne pas

    Martin

    Posté le 18 novembre 2017, 20:47
    par guyguay
    0

    puis je installer excel 2013 en conservant office 2016


    Posté le 19 novembre 2017, 14:05
    par guyguay
    0

    Bonjour guyguay,

    Si ta question d'installer Excel 2013 est juste pour avoir "Microsoft Date and Time Picker Control 6.0 (SP6)", tu peux laisser tomber car j'ai trouvé cet article qui indique comment le télécharger et l'activer, cela pour ton Excel 2016 :

    https://www.ablebits.com/office-addins-blog/2016/10/12/insert-calendar-excel-datepicker-template/

    1) Défile vers le bas jusqu'à voir ce point : « 4. Link the calendar control to a cell »

    2) Défile vers le bas (assez loin) pour voir :
        « How to register the Calendar control on your machine »

       Commence par tout lire depuis ce point jusqu'à la fin de l'article ; ensuite, va lire
       à partir du début du même article : ces infos t'intéresseront sûrement aussi.  ;)

    ---------------------------------------------------------

    Tu devrais lire aussi cet autre article (car même si c'est pour Excel 2010, ça pourrait te servir pour Excel 2016) :

    https://support.microsoft.com/fr-fr/help/2676583

    ---------------------------------------------------------

    À tout hasard, lis aussi toute cette discussion :

    https://forum.excel-pratique.com/excel/microsoft-date-and-time-picker-control-sous-wow8-t53534.html

    ---------------------------------------------------------

    J'crois bien qu'avec toute cette lecture, tout ton Dimanche va y passer !  ;D
    (et p't'être même aussi le début d'la semaine prochaine !)

    ---------------------------------------------------------

    Remarque : comme les disques durs actuels ont une taille limitée de seulement
    quelques centaines de gigaoctets (Go), voire de 2 téraoctets (To), je crois que
    c'est pour cela que Microsoft a choisi de retirer son contrôle ActiveX si pratique
    de Date and Time Picker (et idem pour Calendar) : il a eu peur que ça fasse
    déborder les disques durs et en provoque la saturation...  ;D

    ---------------------------------------------------------

    Sinon, oui, ça doit être possible d'installer Excel 2013 en plus d'Excel 2016,
    mais c'est quand même mieux d'éviter d'avoir 2 versions d'Office sur son
    PC (dans le cas inverse, regarder du côté de la clé de registre NoRereg,
    pour éviter les pénibles réenregistrements dans le Registre Windows).

    Cordialement

     

    rhodo Posté le 19 novembre 2017, 14:58
    par rhodo
    0

    J'ai bel et bien suivi toutes les étapes mais le "Microsoft Date and Time Picker Control 6.0 (SP6)", n'apparait toujours pas dans la liste des autres controles


    je ne comprend pas pourquoi


    aidez moi


    merci

    Posté le 19 novembre 2017, 19:00
    par guyguay
    0

    Bonsoir guyguay,

    Si tu as bien un Windows 64 bits, tu as dû copier les 2 fichiers comctl32.ocx
    et mscal.ocx dans ce dossier : C:\Windows\SysWow64 ; voir copie d'écran :

    https://mon-partage.fr/f/2vxkHdUx/

    Ensuite, j'avais enregistré les 2 dans la Base de registre Windows, et c'était
    alors dans la liste des contrôles ActiveX.

    --------------------------------------------------------------

    As-tu bien ouvert une fenêtre d'invite de commande (sur un compte Administrateur
    ou sur un compte en ayant les droits)
    ? si non : va sur ton compte Administrateur,
    et fait Windows r ➯ fenêtre « Exécuter » ; tape : cmd Entrée (appuie sur la touche
    Entrée, n'écris pas « Entrée » !)

    Ensuite, juste après le signe « > », tape : regsvr32 mscal.ocx  Entrée
    idem pour : regsvr32 comctl32.ocx Entrée

    --------------------------------------------------------------

    Pour ces 2 commandes : si ça n'a pas marché, le message l'indiquera clairement ;
    mais là, j'ai pas d'solution !  :(

    Si ça a marché, tu dois voir un message indiquant que l'enregistrement est réussi ➯ ça sera
    dans la liste des contrôles ; voir à la lettre C pour : « Calendar Control 9.0 », et à la lettre M
    pour « Microsoft Date and Time Picker Control 6.0 (SP6) ».

    ⚠  peut-être faudra-t-il redémarrer le PC après la commande regsvr32.exe ?
         (j'm'en souviens plus, car j'l'avais fait y'a très longtemps)

    --------------------------------------------------------------

    À tout hasard, voici 3 autres liens :

    https://www.ocxdump.com/download-ocx-files_new.php/ocxfiles/M/MSCAL.OCX/9.0.0.2607/download.html

    https://www.ocxdump.com/download-ocx-files_new.php/ocxfiles/C/COMCTL32.OCX/6.00.8105/download.html

    https://forum.excel-pratique.com/excel/calendar-installation-t23293-10.html

    --------------------------------------------------------------

    Si malgré ces infos, ça ne marche toujours pas : désolé, j'ai pas d'autre solution à proposer ;
    peut-être un autre intervenant pourra t'aider davantage ? alors au cas où, continue de
    surveiller les éventuelles futures réponses.

    Bonne chance, et bonne continuation !

    Cordialement

    rhodo Posté le 19 novembre 2017, 20:42
    par rhodo
    -1

    celui ci a fonctionné      tape : regsvr32 mscal.ocx  Entrée


    mais pas celui la    regsvr32 comctl32.ocx Entrée


    j'ai redémarré et ca ne fonctionne toujours pas


    merci beaucoup pour ton aide

    Posté le 20 novembre 2017, 00:14
    par guyguay
    -1

    Bonjour guyguay et rhodo,

    J'ai vu ton message dans le post précédent me demandant si je connaissais une solution.

    Je n'étais pas intervenu dans le post "calendrier" car je voyais que rhodo s'occupait de toi et il est costaud.

    Je ne sais pas si cela va t'aider car je ne travaille qu'avec Excel 2007 et 2013 mais dans ceux ci la procédure expliquer dans le mémo joint fonctionne très bien :

    http://www.cjoint.com/c/GKusIS0KWSe

    C'est en principe assez simple à mettre en place mais si tu as des difficultés n'hésites pas à me revenir (envoies ton fichier pour que je puisse insérer le calendrier à la bonne place)

    Bien à toi

    Chris

    CHRIS Posté le 20 novembre 2017, 19:43
    par CHRIS
    0

    http://www.cjoint.com/c/GKuurAHzgye

    Je n'avais pas vu que tu avais joint un fichier.  Le voici avec les calendriers intégrés.

    A+

    Chris

    CHRIS Posté le 20 novembre 2017, 21:19
    par CHRIS
    0

    Bonsoir Chris,

    J'ai lu ton document Word, mais ce qui ne va pas, c'est à partir du point 3, au début de la 2ème page : tu as mis la bonne fenêtre « Autres contrôles », mais dans la liste, le bon item sélectionné « Microsoft Date and Time Picker Control 6.0 (SP6) » (que j'ai bien), est justement ce que n'a pas le demandeur guyguay ! il sera donc coincé, car tout le problème est justement de faire en sorte que ce contrôle apparaisse dans la fenêtre que tu as montré ; d'où les nombreux messages précédents ; mais là, après avoir proposé plusieurs solutions possibles, je sèche !  :(  je ne suis donc pas aussi costaud que tu le pensais, mais merci quand même...  ;)

    J'ai aussi regardé ton fichier Excel, et tu as mis un contrôle date pour chaque jour de la semaine, comme l'avait demandé guyguay dans son énoncé initial ; au début, j'avais pensé faire la même chose, puis je me suis dit que puisque les jours de semaine se suivent (du Lundi au Samedi), c'est mieux de mettre un seul contrôle date pour le Lundi, et de mettre une formule « +1 jour » pour les autres jours du Mardi au Samedi ; surtout, ça évite un risque d'incohérence si après avoir choisi par exemple le lundi 13 novembre 2017, l'utilisateur choisit dessous une date autre que mardi 14 novembre 2017 (idem pour mercredi à Samedi) ; dans mon fichier Excel que j'ai joint, j'ai fait comme je viens de t'indiquer : avec un seul contrôle date.

    Mon fichier est dans la 1ère réponse de la discussion, et le lien est toujours valable puisqu'il va du 18/11/2017 au 30/11/2017 ; je te remets le même lien ici pour te faciliter son accès :

    https://mon-partage.fr/f/lgL9yvUg/

    Cordialement
     

    rhodo Posté le 20 novembre 2017, 23:39
    par rhodo
    0

    merci beaucoup Chris et Rhodo

    Je pense etre obligé d'essayer d'installer Excel 2013

    Posté le 21 novembre 2017, 00:16
    par guyguay
    0

    Bonsoir à tous les deux

    Que de littérature sur le net concernant ce "bug" de Microsoft.

    J'ai trouvé dans un coin ceci

    http://www.cjoint.com/c/GKux4Pa0rVe

    Regardes si cela fonctionne chez toi en Excel 2016.

    Il a complètement reprogrammé un calendrier et ne passe donc pas par l'utilitaire qui pose problème (Microsoft Date and Time Picker Control 6.0 (SP6) )

    Je n'ai pas étudié tout son classeur (c'est assez lourd) mais cela fonctionne.

    A toi de voir si cela peut coller avec ton application

    Il serait quand même dommage de foutre en l'air ton Excel 2016 à cause de ce bug.  Je suppose que cette version apporte quand même des nouveautés utiles.

    En tous cas, évite de faire cohabiter ensemble dans un même PC 2 versions d'Excel : tu vas droit aux em...

    Tu pourrais aussi t'adresser au vendeur à qui tu as acheté ton 2016 et lui demander la procédure à suivre pour réclamer.  

    Tu peux aussi aller sur le site de Microsoft...Mais là bon courage...

    Cela ne te console pas beaucoup mais je dois dire que c'était quand même intéressant de suivre ce débat et j'ai appris des choses.

    A+

    Chris


    CHRIS Posté le 21 novembre 2017, 01:09
    par CHRIS
    • Merci Chris oui cela fonctionne bien chez moi la cellule B5 , juste a cliquer et un calendrier apparait Comment appliquer tout ca a mon fichier ?Cellule C10-12-14 16 18 sans toucher au reste merci – guyguay 21 novembre 2017, 21:56
    0

    Bonjour à tous les deux,

    Plus spécialement pour rhodo : je reviens sur la façon de calculer les différents jours de la semaine et tu as naturellement raison de le faire en ajoutant 1 plutôt que de devoir insérer toutes les dates de la semaine.  

    A vrai dire, je n'ai découvert le fichier sur le tard et j'ai fait au plus vite.  

    Toutefois je suis quand même content de l'avoir fait car cela m'a permis de m'entraîner à l'usage de cette insertion de date.  

    Notamment qu'il ne faut pas oublier de changer l'adresse de la cellule ET QU'IL FAUT UN CERTAIN TEMPS A EXCEL POUR REAGIR.  

    J'avais fait les implantations par copier/coller et je me suis aperçu que le réglage se faisait difficilement.  Le format se transforme mystérieusement et il faut un peu "chipoter" pour le remettre d'aplomb, ensuite la macro ne réagissait pas quand on cliquait sur la flèche.  J'ai essayé de chercher pourquoi et puis je me suis aperçu qu'après un certain temps cela fonctionnait.  Excel a donc besoin de temps pour mettre en place l'outil.  Je me demande si ce n'est pas toutes ces petites mises au point qui ont découragé Microsoft et l'ont poussé à abandonner cet outil.  

    C'était juste pour te faire part de ces petits avatars au cas où tu serais confronté aux mêmes difficultés.

    Pour guygay : en y réfléchissant encore, ne laisse pas tomber Excel 2016 (à moins qu'il n'y ai d'autres défauts) pour un aussi petit objectif : faire un calendrier d'insertion est un gadget qui, sommes toutes, n'est pas très utile.  Tu prends pratiquement autant de temps à ouvrir le calendrier et chercher la date plutôt que de la taper directement dans la cellule.  Tu peux, par ailleurs, garantir l'encodage par d'autre méthode (Valider les données ou MEFC)

    Bonne continuation

    Chris 

    CHRIS Posté le 21 novembre 2017, 10:16
    par CHRIS
    0

    Merci Chris

    le dernier fichier que tu as posté fonctionne

    peut tu integrer cette fonction sur la colonne C de mon fichier


    merci

    Posté le 22 novembre 2017, 00:27
    par guyguay
    1

    Bonsoir,

    Voici ton fichier en retour adapté :

    http://www.cjoint.com/c/GKwagCPPjOe

    Tu cliques DROIT dans la cellule C10 et tu verras apparaître le calendrier.  Les autres dates se mettent à jour automatiquement en ajoutant 1 puisque les jours se suivent comme l'a fait justement remarqué rhodo

    Comme je ne suis pas à l'origine de ce code, et pour aller vite (càd sans analyser comment les divers programmes s'emboîtent) j'ai procédé en gardant le fichier que j'avais pêché sur le net et en enlevant les onglets pour les remplacer par l'onglet de ton tableau.

    Ensuite j'ai repéré parmi les divers VBA, les instructions qui précisaient la feuille ainsi que l'adresse de la cellule devant contenir la date. Et cela fonctionne.

    Je n'ai pas eu le temps de me pencher sur la façon dont il faudrait procéder s'il fallait mettre plusieurs dates dans ce fichier.  Si nécessaire, je regarderai mais là cela me prendra un peu plus de temps car il faut que j'assimile la logique de ce système.

    Peux tu me dire si c'est nécessaire ,

    A+

    Chris

    CHRIS Posté le 22 novembre 2017, 01:21
    par CHRIS
    0

    Merci Chris

    mais ou est cette formule dans la cellule c10


    Martin

    Posté le 22 novembre 2017, 11:48
    par guyguay
    1

    Bonsoir Martin

    Il n'y a pas de formule : c'est du VBA çàd de la programmation.  

    Il y a dans le classeur que je t'ai envoyé des programmes et un Userform qui pilote toute cette opération dès que tu cliques droit dans la cellule C10.

    Si tu veux les voir, tu dois aller sous l'onglet Développeur et cliquer sur Visual basic.  Tu verras apparaître un nouvel écran assez compliqué qui permet de visualiser tous les programmes attachés à ce classeur ainsi que le userform.  Mais vu que manifestement tu n'es pas du tout au courant : SURTOUT NE TOUCHE A RIEN. et cliques sur la croix rouge au dessus à droite pour sortir du mode programmation.

    Il est impossible de t'expliquer la base du VBA sur ce site.  Il faut que tu commences par apprendre soit par un cours soit pas la lecture (La série "Programmation VBA pour Excel aaa pour les nuls" par M.John Walkenbach est excelente)

    Quand tu auras les bases, alors nous pouvons t'aider à progresser pour les cas difficiles.

    Pour l'instant contentes toi d'utiliser la "magie" d'Excel et dis moi s'il faut plusieurs dates différentes dans ton tableur auquel cas je dois intervenir.

    Par contre s'il n'en faut qu'une seule mais que tu as besoin d'autres classeurs pour l'avenir, il te suffit de dupliquer celui que je t'ai envoyé et adapter les paramètres de la nouvelle semaine.

    Bon courage

    Chris

    CHRIS Posté le 22 novembre 2017, 19:45
    par CHRIS
    0

    Merci encore Chris

    C'est tres apprécié


    Martin

    Posté le 23 novembre 2017, 00:35
    par guyguay
    0

    Salut Chris

    voici un autre fichier que j'aimerais modifier

    J'aimerais avoir le calendrier a la cellule V3

    comment faire pour copier le code de mon autre fichier a celui ci

    http://www.cjoint.com/c/GKzmD7XMDCu


    merci

    Posté le 25 novembre 2017, 13:33
    par guyguay
    1

    Bonjour Martin,

    Est-ce cela que tu désires ?

    http://www.cjoint.com/c/GKAkiAOwxTo

    Comment j'ai fait :

    1 Je suis parti du fichier Calendrier initial (contenant les VBA et Userform et Fonctions) que j'ai sauvé sous un autre nom

    2 J'ai enlevé les onglets

    3 j'ai transféré les onglets de ton nouveau fichier dans ce fichier sauvé

    4 j'ai adapté quelques paramètres : le nom de l'onglet et l'adresse V3 (voir caractère gras) :

     1 VBA

    Option Explicit

    Public WithEvents Btn As MSForms.CommandButton

    'Procédure lors du clic sur un bouton "jour"

    Private Sub Btn_Click()

        Dim maDate As Date

        maDate = CDate(Btn.Caption & "/" & Calendrier.Tag)

        'La ligne suivante détermine l'action à effectuer lors d'un clic sur le bouton

        'Pour entrer la date choisie dans une cellule et fermer l'Userform :

            'ActiveCell.Value = maDate

            Worksheets("Recto").Range("V3") = maDate

            Calendrier.Hide

    End Sub

    2 VBA

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

        If Not Application.Intersect(Target, Range("V3")) Is Nothing Then

            Cancel = True

            Calendrier.Show

        End If

    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        If Not Application.Intersect(Target, Range("V3")) Is Nothing Then

            Calendrier.Show

        End If

    End Sub

    Et voilà.

    C'est du bricolage mais cela marche

    En fait, l'auteur du code a utilisé des outils barrés par mot de passe que je ne suis pas parvenu à atteindre.  Il faut donc impérativement garder toujours la même structure de fichier et faire évoluer les onglets.

    Si j'ai le temps un jour, je regarderai comment contourner ces outils mais c'est certainement un travail de plusieurs heures voir jours.

    Alors en attendant....

    Bonne continuation

    Chris

    CHRIS Posté le 26 novembre 2017, 11:21
    par CHRIS
    1

    Encore moi : peux tu enlever ces vilains -1 en face de mes réponses ?  Je ne crois pas les avoir mérités.

    A+

    Chris

    CHRIS Posté le 26 novembre 2017, 11:25
    par CHRIS
    0

    Salut Chris ton fichier fonctionne bien

    Avant que tu modifie le fichier j'avais plusieurs listes déroulantes qui sont disparus, est-ce ta modification qui a tout enlevé


    ensuite je dois envoyer par courriel a mon employeur ce fichier a tout les jours, mais il n'aimeras pas avoir ce message a l'ouverture de ce dernier

    comment faire pour éviter ce message

    http://www.cjoint.com/c/GKAnT2tRNUu


    merci encore

    Posté le 26 novembre 2017, 14:46
    par guyguay
    0

    Oups le calendrier ne fonctionne pas bien

    essaie de changer de date ca ne concorde pas

    voici mon fichier avec mes listes deroulantes reparées

    http://www.cjoint.com/c/GKAqPnjLqTu


    merci

    Posté le 26 novembre 2017, 17:42
    par guyguay
    1

    Bonjour,

    Pour ta première question : comme je te l'ai expliqué je suis parti du fichier calendrier et j'ai transféré les informations donc oui, il se peut que les listes déroulantes soient passées à la trappe.  Toutefois j'ai été voir le fichier d'origine et je ne trouve pas de listes déroulantes ???

    Es tu certain de m'avoir envoyé le bon fichier ??

    Pour la deuxième question : tu m'envoies une image .jpg.  Est ce cela que tu envoies à ton patron ? et de quel message parles tu : l'avertissement automatique de Google concernant les fichiers protégés ??

    Précises tes questions stp

    A+

    Chris

    CHRIS Posté le 26 novembre 2017, 17:50
    par CHRIS
    0

    as tu ouvert le dernier fichier que j'ai posté , regarde la case v3 ca ne fonctionne pas bien


    Pour les listes deroulantes, oublie mon message, j'ai tout corrigé (excuse moi)

    le fichier que j'envoi a mon patron est un excel jamais un JPG

    pour le message d'erreur ca n'apparait pas toujours oui (C,est la ligne jaune tout en haut du fichier)


    merci


    Martin

    Posté le 26 novembre 2017, 17:56
    par guyguay
    0

    Je n'avais pas vu ton dernier fichier (on s'est probablement croisé dans l'expédition).

    Ceci dit, je l'ai chargé et le calendrier fonctionne très bien chez moi.

    J'espère que ce n'est pas une question de version de nouveau.

    Est ce que tu cliques bien "droit" avec la souris ?

    Dès que je clique droit sur V3, le calendrier apparaît et lorsque je clique sur une date, elle se met bien dans V3.  Donc pour moi tout est en ordre.

    Par contre, je ne vois toujours pas tes listes déroulantes ???

    Pour ce qui est du message d'erreur, je n'ai rien remarqué non plus en ouvrant ton fichier mais naturellement il a été transmis par Cjoint.com ce qui n'est pas la même chose que par mail.

    A-tu mis une protection à ton fichier Excel ??

    A te lire

    Chris


    CHRIS Posté le 27 novembre 2017, 02:14
    par CHRIS
    0

    Oui je fais clic droit , mais si je veux inserer une date anterieure, par exemple un jour d'octobre alors la mauvaise date apparait.

    pour les listes deroulantes je comprend bien comment les ajouter alors oublie ca

    aucune protection sur mon fichier


    merci beaucoup Chris pour tout ton temps


    Martin

    Posté le 27 novembre 2017, 11:50
    par guyguay
    0

    Bonsoir,

    Voici le fichier que tu m'as envoyé :

    http://www.cjoint.com/c/GKBxKvvdUTo

    Pour moi : TOUT FONCTIONNE

    Tu cliques droit sur V3 ; tu choisis le mois désiré en cliquant sur les flèches des mois + et - pour choisir le mois et tu cliques sur le jour désiré et il viendra s'inscrire dans la cellule V3.

    J'ai essayé pour les mois de septembre ; octobre et novembre et j'ai cliqué sur plusieurs dates et tout répond parfaitement.

    J'ai juste remis la détermination du jour de la semaine au-dessus de la date en utilisant la table des jours semaine que tu semblais avoir perdu.

    Désolé mais si cela ne fonctionne pas chez toi, je ne peux plus t'aider : cela doit provenir de ton installation (peut être la version 2016) mais franchement cela m'étonnerait.

    Es tu certain de ne pas faire une fausse manœuvre ??

    J'oublie les listes déroulantes (je ne sais pas pourquoi mais j'oublie...)

    Pour la protection veilles bien que le fichier soit sauvé avec dans les Options d'excel / Centre de gestion de la confidentialité/Barre des messages cocher "Ne jamais afficher...."

    Voir image jointe

      http://www.cjoint.com/c/GKBx3hfKbVo

    C'est peut être cela mais je n'en suis pas certain.  Il faudrait faire des essais ce qui n'est pas possible.  Il faudrait que tu trouves quelqu'un qui s'y connait près de toi pour qu'il puisse tester ce que je ne peux pas faire à distance.

    Confirmes moi quand même si tu arrives...ou pas...snif !

    A+

    Chris



    CHRIS Posté le 28 novembre 2017, 01:02
    par CHRIS
    0

    Merci Chris

    J'ai corrigé pour le message d'erreur dans les options

    Pour la date qui n'est pas bonne, du moment que je retrograde de plus de 2 semaines en arriere, ca ne concorde plus

    sinon tout va bien


    merci encore

    J'apprecie tout ton effort


    Martin


    Posté le 28 novembre 2017, 11:50
    par guyguay
    0

    Peux tu expliquer, pas à pas, ce que tu fais et comment tu le fais avec les dates utilisées et les résultats obtenus.

    Utilises-tu les flèches de changement de mois ?

    Bref essaies d'être le plus précis possible dans ta description de ton processus.

     Comme je te l'ai dit, j'ai fait des essais sur plusieurs mois sans rien détecter.

    Ce que l'on pourrait tenter de faire, c'est que je t'envoie un fichier où je mettrais un STOP dans le VBA qui va provoquer son arrêt et l'affichage du programme. Ensuite il faut pousser sur la touche F8 et le programme avance pas à pas.  On pourrait essayer ainsi de détecter à quel moment il ne reconstitue pas la bonne date.

    C'est ce que je ferais si l'incident arrivais chez moi.

    Cette procédure n'est naturellement pas évidente pour quelqu'un qui ne connaît pas le VBA.

    Il faut savoir que, durant cette procédure de pas à pas, il est possible, en positionnant le curseur avec la souris sur les variables du programme, de voir leur contenu et donc, en principe, de voir quand la date se déforme.

    Es tu prêt à tenter l'expérience ??? 

    Quoi qu'il en soit tu ne risques que de perdre du temps car, si cela ne marche pas, il suffit de supprimer le fichier.  Cela ne "cassera" rien dans ton PC.

    Qu'en penses tu ??

    Chris

     

    CHRIS Posté le 29 novembre 2017, 00:18
    par CHRIS
    0

    oui j'aimerais regler le probleme

    pourrais-tu regarder sur mon pc via team viewer


    Posté le 29 novembre 2017, 00:28
    par guyguay
    • voici mon courriel mdesgagne4@gmail.com – guyguay 29 novembre 2017, 00:29
    1

    Bonjour,

    Voici le calendrier avec un STOP qui fera s'arrêter le programme au moment où tu auras cliquer sur le jour désiré.

    Quand le programme s'arrêtera, tu auras à l'écran le programme qui sauve la date choisie et l'insère dans la cellule V3

    Si tu positionne le curseur de la souris sur la variable "madate" tu verras apparaître la date sauvée sous forme de message sur fond jaune.  Dis moi si c'est la date désirée ?

    Après tu appuies sur F8 et le programme avancera pas à pas jusqu'à la ligne "Calendrier.Hide"

    A ce moment retourne sur ton tableau pour voir si la date est toujours la bonne.

    Ensuite tu retournes dans l'onglet du programme et tu appuis sur F5 et le programme s'achèvera tout seul.

    Tu ne m'as pas répondu à ma demande de description détaillée de ce que tu exécutes comme procédure et c'est important pour essayer de comprendre.

    Je ne possède pas team viewer et de toute façon, je ne souhaite pas m'introduire dans le PC d'autrui.  Cela sort du cadre de l'assistance bénévole que je te donne.  Imagine que j'endommage quelque chose involontairement...

    J'attend ta réponse

    A+

    Chris

    CHRIS Posté le 1 décembre 2017, 10:27
    par CHRIS
    1

    C'est mieux avec le fichier...

    http://www.cjoint.com/c/GLbjl7RMrEoe

    CHRIS Posté le 1 décembre 2017, 10:28
    par CHRIS
    0

    merci j'essaie ca aujourd'hui


    Martin

    Posté le 1 décembre 2017, 11:44
    par guyguay
    0

    Ok je viens d'essayer

    Quand tu parles de la variable madate qui devrait faire apparaitre sur fond jaune, je ne vois rien en jaune.


    dnas quelle cellule se trouve cette variable, est-ce V3


    Posté le 1 décembre 2017, 22:21
    par guyguay
    1

    Bon je vois que cela ne va pas être évident...

    Quand tu cliques droit sur V3, le calendrier apparaît.

    Ensuite tu cliques sur la date désirée.

    Le VBA se déclenche et s'arrête sur l'instruction STOP et fait apparaître l'écran dans lequel on peut modifier le VBA (Attention ne touche à rien : tu es dans le programme)

    Tu verras que l'instruction STOP est en surbrillance jaune foncé

    Si tu places le curseur (sans cliquer) de la souris sur la variable "madate" (4 lignes plus haut à gauche), tu verras apparaître normalement sur fond jaune clair la date que tu as choisie. C'est le contenu de la variable à ce stade du programme.  Si cette date n'est pas la bonne, on saura à peu près où se situe le problème.

    ensuite tu appuies sur F8 et le programme avancera d'un pas

    Il est maintenant sur l'instruction qui insère la date dans la cellule V3

    Appuies encore une fois sur F8 et normalement si tu cliques sur l'onglet pour retourner dans le tableur, tu devrais voir la date dans V3

    Retournes maintenant dans l'outil de programmation en cliquant sur l'onglet  "Microsoft Visual Basic et appuies sur F5 et le VBA se termine.  Tu peux retourner encore une fois sur l'onglet Microsoft Visualbasic et cliquer sur la croix blanche sur fond rouge dans le coin supérieur droit pour sortir de l'outil du VBA

    Nous apprendrons ainsi peut être où se trouve le problème et toi tu auras appris (un peu) à manipuler les outils du VBA.

    N'oublies pas de répondre à mes différentes questions concernant le déroulement du processus.

    Cela peut te paraître fastidieux mais, par expérience, je me suis aperçu que, bien souvent, les gens déroule un processus sans mesurer pleinement les conséquences de certaines actions et de là on peut comprendre ce qui entraîne les problèmes.

    Bon tout cela ne nous mènera peut être à rien mais au moins nous aurons essayer...

    A bientôt

    Chris 


    CHRIS Posté le 2 décembre 2017, 01:49
    par CHRIS
    0

    Salut Chris

    C'est ca le probleme, quand je clique droit sur V3 le calendrier n'apparait pas

    donc je ne peux aller plus loin


    merci

    Posté le 2 décembre 2017, 14:00
    par guyguay
    0

    Il y a surement un probleme

    meme mon autre fichier que tu m'as peaufiner ne voit plus le calendrier


    je suis perdu..... le voici sans le calendrier

    http://www.cjoint.com/c/GLcnmsp2Gmu


    merci

    Posté le 2 décembre 2017, 14:13
    par guyguay
    1

    Désolé mais chez moi, le fichier que tu viens de m'envoyer fonctionne très bien !!

    Je ne sais pas ce que tu as comme installation mais cela ne semble pas être au top.  Tu ferais bien de t'adresser à un professionnel sur place pour qu'il t'arrange tout cela.

    En attendant tu n'as pas répondu à toutes mes questions.

    Si tu y réponds, je veux bien encore essayé de t'aider mais je pense que cela vaudrait mieux que tu fasses vérifier ton installation.

    Si j'ai bien compris, tu viens d'installer Excel 2016.  Avais tu enlever de ton ordinateur ta précédente version ?  Peut-être as tu des restes de l'ancienne version qui viennent perturber le bon fonctionnement.  

    Bonne chance en tous cas

    Chris 

    CHRIS Posté le 3 décembre 2017, 11:22
    par CHRIS
    0

    Merci j'essaie de trouver mon probleme avec Excel et ensuite je pourrai repondre a tes questions et suivre pas a pas ta démarche proposée

    Merci

    Martin

    Posté le 3 décembre 2017, 13:17
    par guyguay
    0

    Tu m'as peaufiné 2 fichiers avec calendrier

    le premier http://www.cjoint.com/c/GLdmAesfBju fonctionne tres bien

    et le deuxieme http://www.cjoint.com/c/GLdmBjhsMFu ne fonctionne pas

    ce probleme est apparu voila seuelement 2 jours.

    j'ai rien touché ou modifié dans mon ordinateur

    j'avais essayé Excel 2013 la semaine derniere

    mais je l'ai désinstallé correctement pour ensuite réinstaller 2016

    C'est bizarre que l'un soit correcte et l'autre non


    merci encore Chris

    Martin

    Posté le 3 décembre 2017, 13:30
    par guyguay
    0

    Je viens de comprendre quelque chose

    j'ouvre mon fichier qui fonctionne, j'en fait une copie et la nomme fichier_2.

    j'enregistre ce fichier et je l'ouvre a nouveau et la ca ne fonctionne plus

    Je suis désespéré


    Martin

    Posté le 3 décembre 2017, 13:35
    par guyguay
    1

    Hum ! tu es un cas...

    Je viens de faire la même manœuvre chez moi et je n'ai pas de soucis.

    Quand tu sauves ton fichier, comment fais tu ? Expliques pas à pas ce que tu fais.

    Respectes tu bien l'extension qui doit impérativement être .XLSM ?

    C'est manifestement là où se situe le problème

    Maintenant, encore une fois, cela devient une question de principe de vouloir comprendre, car honnêtement ce calendrier n'est pas vraiment très utile :

    le temps de cliquer droit ; de régler le mois et de cliquer sur le jour, je suis certain que tu as taper la date au moins aussi vite (tu sais que quand tu encodes une date de l'année dans Excel, tu n'es pas obligé de taper l'année : 4/12 et ENTREE suffit Excel ajoute automatiquement l'année 2017.

    On peut aussi ajouter facilement des contrôles de validité de date pour fiabiliser l'encodage comme par exemple si ce n'est pas un lundi : refus.

    Enfin à toi de voir, je sais que cela fait "fun" de voir apparaître un calendrier mais est ce efficace ??

    A te lire pour la suite du feuilleton (nous en sommes à l'épisode 47... nous battons tous les records)

    Chris


    CHRIS Posté le 4 décembre 2017, 01:51
    par CHRIS
    0

    Quand j'enregistre mes fichiers, c'est bien en XLSM

    Mais ca ne fonctionne toujours pas

    Par contre J'Ai trouvé un petit logiciel (Pop-Up Calendar) qui fait aussi bien le travail.

    Donc j'abandonne le projet pour aller plus loin.

    Merci encore Chris pour toute ton aide

    Martin

    Posté le 4 décembre 2017, 11:38
    par guyguay
    0

    Bonjour, encore un souci avec mon calendrier

    Pour Pop-up calendar, que j'avais trouvé, j'en suis rendu a la fin de la periode d'évaluation et je crois pas que j'ai envi de continuer a L'utiliser.

    Par contre , mon fichier arrangé par Chris voila 1-2 mois me cause encore des problemes

    En V3 , J'ai une macro pour un calendrier qui apparait.

    Lorsque je clique sur une date, ce n'est pas la bonne qui apparait

    par exemple

    le 8 janvier (8/01) me donne le 1 aout (1/08)

    le 9 janvier (9/01) me donne le 1 septembre (1/10)

    quelqu'un peut m'aider

    Je sauvegarde vraiment en .XLSM


    voici le fichier

    merci

    https://www.cjoint.com/c/HAivByNPASj


    faisdlair Posté le 8 janvier 2018, 22:28
    par faisdlair

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :