Calendrier dans cellule

Résolu
Bonjour,

Je sais qu'il y a déjà des discussions sur ce sujet mais j'ai pas compris ce qui y est dit..
Je souhaite simplement que quand je clique sur une cellule, un petit calendrier s'ouvre et que de cette manière je choisisse la date à afficher.

Merci à qui pourra m'aider

7 réponses

  1. Bonsoir,

    Oula!! j'ai n'ai pas réussi à faire fonctionner vos fichiers messieurs!! Je ne connais que les bases d'Excel et commence tout juste les macros..
    Pourriez-vous m'expliuer vos démarches? Surtout que vous me présentez deux manières d'arriver à mon but!

    Merci.
    0
    1. Bonsoir,

      Toutes les explications sont dans le fichier
      Il faut accepter d'activer les macros pour que le calendrier fonctionne

      Cdlmnt
      0
  2. Oui oui j'ai bien effectué ça, mais dès que je clique sur ta case où il y a la date, j'ai Visual Basic qui s'ouvre avec un message d'erreur!

    "Erreur de compilation
    Projet ou bibliothèque introuvable"
    0
    1. Et quand tu fais touches Alt et F11 le code s'affiche ?
      0
    2. oui!
      0
  3. Contributeur
    Bonjour à tous.

    Pour la proposition de via ça dépend de la version d'excel. Si ça ne marche pas du 1er coup c'est une bagarre sans fin.
    La proposition de J. Boigontier doit fonctionner sur toutes les versions puisqu'il a construit le calendrier..
    Si tu as accepté les macros, son fichier exemple doit fonctionner chez toi.

    N'oublie pas de donner ta version excel à chaque question. Dans certains cas c'est primordial.

    eric
    0
    1. Bonsoir eriiic,

      Une fois tout importé tout le texte je l'écris dans n'importe quelle feuille? Et après comment j'affecte ça à une cellule? comme on a pas donné de nom à la macro! (Peut être pas necessaire?!
      D'accord pour la version moi c'est 2007!
      0
      1. Contributeur
        Soit précis, on ne sait pas de quelle proposition tu parles...
        Si c'est celle de JB tu vas dans VBE et tu fais tout à l'identique.

        Tu fais un cliqué-glissé du UserForm F_calendrier1dateTableur dans ton classeur pour le copier.

        Dans la (les) module feuille qui t'intéressent, copier-colle le code 'Private Sub Worksheet_BeforeDoubleClick' du module Feuil89.
        Puis tu adaptes cette ligne à ton besoin :
        If Target.Address = "$B$4" Then

        eric
        0
      2. Moi aussi 2007
        Mon fichier devrait fonctionner chez toi !

        Si tu bâtis ton propre fichier , il faut d'abord dans la feuille où tu veux le calendrier inserer le calendrier selon les explications que je t'ai donné dans mon fichier (Onglet Developpeur, Inserer, Autres controles, Controle Calendrier

        Après tu fais Alt F11 pour ouvrir l'éditeur, dans l'arborescence à gauche tu choisis la bonne feuille
        et dans la fenetre de droite de l'editeur tu colles ces deux macros :

        Private Sub Calendar1_Click()
        ' Met la date sélectionnée dans la cellule active
        ActiveCell.Value = Calendar1.Value
        ' Masque le calendrier
        Calendar1.Visible = False
        End Sub

        Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        If Target.Column = 4 And Target.Row = 2 Then
        ' Si la cellule sélectionnée est D2on affiche le calendrier à côté de la cellule
        Calendar1.Visible = True
        Calendar1.Top = ActiveCell.Top
        Calendar1.Left = ActiveCell.Left + ActiveCell.Width
        Else
        ' Sinon, on masque le calendrier
        Calendar1.Visible = False
        End If
        End Sub

        La cellule affectée à la macro est la cellule en colonne 4 et ligne 2 (Target.Column = 4 And Target.Row = 2) donc D4, si tu veux affecter à une autre cellule il suffit de changer les nombres 4 et dans la macro

        Cdlmnt
        0
      3. Ça à marché! Sans aller dans développeur... En utilisant le fichier de via55!
        J'ai copié exactement les mêmes écritures. Par contre il me reste à comprendre ce que tout ça veut dire!
        0
    2. C'est tout bon!!!
      C'est juste que je prend pas le temps de lire!! Ça fonctionne super bien!

      Je vous remercie tout les trois d'avoir répondu à mes questions!!

      A très vite surement!
      0