Calendrier sous excel

Résolu
lucieaup -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai crée une macro qui me permet d'avoir un calendrier pour sélectionner une date dans n'importe quelle cellule avec un clic droit. Ma macro marche trés bien je n'ai pas de soucis de ce coté la. Une fois le plus dur fait, je bloque sur un simple point, la macro marche sur mon pc mais pas sur celui de mes collègues avec qui je dois partager le fichier. J'ai essayé de l'enregistrer en .xls ou en .xlsm mais ca ne change rien. J'ai voulu leur dire d'activer l'option calendar dans VBA mais impossible de la trouver dans "view" plus "tool bar".

Est ce que quelqu'un pourrait me donner un coup de main svp?

Merci de votre aide

7 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    selon la version excel les contrôles installés ne sont pas les même, surtout pour les calendriers.
    Calendar ne doit plus être présent sur 2010 par exemple.
    Tente ta chance avec Date&Time Picker ou Mounth Picker qui ont l'air d'être plus communs sur les versions.

    eric

    0
  2. lucieaup
     
    Bonjour,

    Merci de votre réponse. Le soucis c'est que nous sommes tous équipés des mêmes versions donc je suis aussi sous 2010... J'ai l'impression qu'il fait appel à un fichier source parceque dans un premier temps j'ai bidouillé pour faire ma macro puis j'ai ensuite posté le fichier sous l'intranet. En le téléchargant j'ai tout bon mais uniquement sur mon pc....
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      C'est toi qui voit...
      Si tu veux d'autres réponses il faudrait peut-être que tu donnes le message d'erreur.
      eric
      0
  3. lucieaup
     
    Eric,

    Ce n'est pas que je veux pas essayer ta solution mais je travaille avec 42 pays et je ne peux matériellement pas aller les voir tous pour leur demander d'installer des choses ( sachant que certains comme la russie ou l'ukraine ne sont pas trés débrouillards en terme d'informatique)

    Il n'y a pas de message d'erreur, juste quand on fait le clic droit sur la cellule, l'option "calendar" n'apparait pas en dessous de "hyperlink".
    0
    1. lucieaup
       
      Je met le fichier en question peut être que ce sera plus clair. Désolée pour les experts mais le code de la macro est surement un peu "brouillon" il doit y avoir des moyens plus simples mais comme je suis pas trés douée en VBA....

      http://cjoint.com/?CErpaPcdaNP

      Merci
      0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Re,

    Ca ne marchait pas chez moi non plus.
    Essaie avec ça :
    Private Sub Worksheet_Activate()
        Dim ContextMenu As CommandBar
        Dim MySubMenu As CommandBarControl
        Set ContextMenu = Application.CommandBars("Cell")
        With ContextMenu.Controls.Add(Type:=msoControlButton)
            .Caption = "Calendrier"
            .BeginGroup = True
            .OnAction = "Calendrier"
            .FaceId = 125
        End With
    End Sub 

    eric

    PS: j'ai changé ton icône par une qui me semblait plus appropriée.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lucieaup
     
    Merci,

    Alors j'ai essayé, j'ai copié le code dans le module 1 mais du coup, plus rien ne fonctionne... Je ne comprend pas..

    Désolée
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      j'ai copié le code dans le module 1
      C'est un Private Sub Worksheet_Activate, il faut qu'il soit dans la feuille.
      Puis il faut activer la feuille au moins une fois pour que le menu y soit, et tu n'as qu'une feuille.
      Et tu le désactives sur deactivate de la feuille mais pas à la désactivation du classeur ni à sa fermeture, dans ces cas il reste dans le menu contextuel.

      eric
      0
  7. lucieaup
     
    Par "il faut qu'il soit dans le feuille" vous entendez dans VBA je double clique sur ma feuille et je rentre le code dedans? Parceque c'est ce que j'ai fait et ca ne marche tjs pas. De plus je ne comprend pas pourquoi ca m'ouvre un autre projet VBA alors que je n'ai pas d'autre classeur d'ouvert, quand j'efface le code de ce classeur ou il y a marqué ca:

    'Entry point for RibbonX button click
    Sub ShowATPDialog(control As IRibbonControl)
    Application.Run ("fDialog")
    End Sub

    'Callback for RibbonX button label
    Sub GetATPLabel(control As IRibbonControl, ByRef label)
    label = ThisWorkbook.Sheets("RES").Range("A10").Value
    End Sub

    Ben du coup ca ne fonctionne plus. Donc je suppose que c'est ca qui bug ou qui fait marcher la macro mais je ne sais pas d'ou je le sort. Je précise que pour monter ma macro je me suis aidée de nombreux post sur divers forums, j'ai associé des idées du coup j'ai du prendre des trucs imcompatibles...

    P.S: C'est quelle icone que vous avez changé? Mon calendrier? parceque je sais que pour les puristes ca doit vraiement être fait n'importe comment étant donné que j'ai fait les cases des jours unes à une... EN tout cas je n'ai rien vu comme changement
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Par "il faut qu'il soit dans le feuille" vous entendez dans VBA je double clique sur ma feuille et je rentre le code dedans?
      oui

      De plus je ne comprend pas pourquoi ca m'ouvre un autre projet VBA alors que je n'ai pas d'autre classeur d'ouvert
      Tu dois être dans un autre classeur même si tu ne l'as pas ouvert.
      Au démarrage excel ouvre des .xlam qui sont dans des répertoires spécifiques.
      Laisse-les tranquilles

      C'est quelle icone que vous avez changé?
      Celle du menu contextuel.
      Tu ne l'as pas vue, et pour cause...

      Essaie sur celui là : https://www.cjoint.com/c/CErrCl6Q3my
      Cliquer sur Feuil1, revenir sur ta Calendrier avant tester (c'est le fonctionnement que tu as fait...)

      Par ailleurs ton classeur complètement vide fait 2Mo. C'est anormal.
      Supprimer les lignes et colonnes ne ressoud pas le pb, je te conseille de le recommencer sur un classeur neuf.

      eric
      0
  8. lucieaup
     
    Bonjour,

    Merci beaucoup!! Ca marche. C'est génial.

    Juste pour ma culture, pourquoi il faut d'abord aller sur une autre feuille pour l'activer? Je peux pas rentrer une macro qui lui dit de l'activer du genre à l'ouverture: sheets.activate?

    En tout cas merci beaucoup pour votre aide!

    Bonne journée,
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      pourquoi il faut d'abord aller sur une autre feuille pour l'activer?
      Parce que tu as fait ce choix, comme Mr Jourdain.
      Ce menu contextuel n'est activé que sur cette feuille.

      Si tu veux qu'il le soit sur toutes les feuilles de tous les classeur il faut le faire dans workbook_open de thisWorkbook et non dans Worksheet_Activate de ta feuille (et enlever aussi la désactivation).

      eric
      0