Calendrier sous excel

Résolu/Fermé
lucieaup - 17 mai 2013 à 11:11
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 21 mai 2013 à 13:00
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
A voir également:

7 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
17 mai 2013 à 12:47
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
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
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
17 mai 2013 à 14:51
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
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
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
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
17 mai 2013 à 16:00
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
17 mai 2013 à 16:37
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
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
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
17 mai 2013 à 17:32
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
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
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
21 mai 2013 à 13:00
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