Passer au contenu principal

Comment faire apparaître un calendrier en cliquant sur une cellule spécifique dans Excel?

En supposant qu'il y ait une plage de colonnes dans une feuille de calcul, vous devez fréquemment entrer et modifier les dates à l'intérieur, mais il est ennuyeux d'entrer ou de modifier la date manuellement par heure. Comment entrer rapidement des dates sans taper manuellement dans la plage de colonnes? Cet article parle de faire apparaître un calendrier lorsque vous cliquez sur des cellules dans une certaine plage, puis d'insérer la date dans la cellule sélectionnée automatiquement après avoir sélectionné la date dans le calendrier.


Afficher un calendrier en cliquant sur une cellule spécifique avec le code VBA

Veuillez résoudre ce problème comme suit étape par étape.

Notes: Cette méthode ne peut fonctionner que sur Microsoft Excel 32 bits.

Étape 1: créer un formulaire utilisateur avec calendrier

Veuillez créer un UserForm qui contient le calendrier que vous afficherez en cliquant sur une cellule.

1. presse autre + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Formulaire utilisateur.

3. Puis un Formulaire utilisateur et Boîte à outils fenêtres pop-up, dans le Boîte à outils, cliquez sur n'importe quel contrôle et faites un clic droit, puis sélectionnez Contrôles supplémentaires dans le menu contextuel. Voir la capture d'écran:

4. dans le Contrôles supplémentaires boîte de dialogue, faites défiler vers le bas pour vérifier Contrôle Microsoft MonthView option dans la Commandes disponibles , puis cliquez sur le OK .

5. Ensuite, vous pouvez voir le Vue du mois le bouton est ajouté dans le Boîte à outils la fenêtre. Cliquez sur ce bouton MonthView, puis cliquez sur la fenêtre UserForm1 pour créer un calendrier dans le Userform.

Notes: Vous pouvez ajuster la taille de la fenêtre UserForm pour l'adapter au calendrier inséré en faisant glisser la bordure de l'UserForm.

6. Double-cliquez sur le calendrier inséré dans UserForm1 et dans le Code fenêtre, veuillez remplacer le code d'origine par le script VBA suivant.

VBA code: create a user form with calendar

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
 On Error Resume Next
   Dim xRg As Object
   For Each xRg In Selection.Cells
      xRg.Value = DateClicked
   Next xRg 
   Unload Me
End Sub

Notes: Ce code peut aider à insérer la date dans la cellule sélectionnée après avoir sélectionné la date dans le calendrier.

Étape 2: Activez le calendrier en cliquant sur la cellule

Vous devez maintenant spécifier certaines cellules pour afficher le calendrier lorsque vous cliquez sur. Veuillez faire comme suit.

7. Double-cliquez sur le nom de la feuille qui contient les cellules sur lesquelles vous cliquerez pour faire apparaître le calendrier à gauche Le projet NetPoulSafe volet, puis copiez et collez le code VBA ci-dessous dans la fenêtre Code. Voir la capture d'écran:

VBA code: Click cell to pop up calendar

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Target.Count = 1) Then
    If Not Intersect(Target, Range("A2:A10")) Is Nothing Then UserForm1.Show
    End If
End Sub

Notes: dans le code, A2: A10 sont des cellules sur lesquelles vous cliquerez pour faire apparaître le calendrier. Veuillez modifier la plage de cellules selon vos besoins.

8. presse autre + Q touches simultanément pour fermer le Microsoft Visual Basic pour applications fenêtre.

À partir de maintenant, lorsque vous cliquez sur une cellule à l'intérieur de la plage spécifiée dans la feuille de calcul actuelle, un calendrier apparaîtra comme illustré ci-dessous. Et la date sera insérée automatiquement dans la cellule sélectionnée après avoir sélectionné la date dans le calendrier.


Afficher un calendrier en cliquant sur une cellule spécifique avec le code VBA

Cette section présente le Sélecteur de date utilité de Kutools for Excel. Après avoir activé cette fonctionnalité, cliquez sur une cellule de date pour faire apparaître un calendrier, vous pouvez facilement remplacer la date existante par une nouvelle date. Veuillez suivre les étapes ci-dessous pour appliquer cette fonctionnalité.

1. Cliquez Kutools > Contenu > Activer le sélecteur de date.

2. Après avoir activé cette fonction, cliquez sur une cellule de date et une icône de calendrier apparaîtra directement dans la cellule.

3. Cliquez sur l'icône du calendrier pour ouvrir le Sélecteur de date boîte de dialogue, puis cliquez sur une nouvelle date pour remplacer la date dans la cellule sélectionnée.

Notes:

  • Bouton Annuler: cliquez sur ce bouton pour annuler le remplacement de la date;
  • Bouton Fermer: cliquez sur ce bouton pour fermer la boîte de dialogue Sélecteur de dates;
  • Cette fonctionnalité ne peut s'appliquer qu'aux cellules contenant une date.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.


Articles connexes:

Meilleurs outils de productivité bureautique

Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

onglet kte 201905


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am not seeing the Microsoft MonthView Control in the listing, but it may be as Pete (#32847) mentioned that this will not work in Office 365 or 64-bit Microsoft Office.
This comment was minimized by the moderator on the site
Hi Teagan Caudle,
I searched and tried the methods suggested in google, but ultimately could not register the MonthView control in Microsoft 365.
Sorry for the inconvenience. Maybe you can check this out.
https://social.technet.microsoft.com/Forums/Azure/en-US/db3b4dff-aad7-4d88-87cc-8f3f117be550/microsoft-windows-common-controls-60-for-office-2016
This comment was minimized by the moderator on the site
There is no Microsoft MonthView Control listed (Office 365), and the directions here doesn't explain how one would get that control, so this is pretty much useless unless you're using an older version of Excel.
This comment was minimized by the moderator on the site
The calendar will show up but when I click on the date, the cell doesn't populate
This comment was minimized by the moderator on the site
Hi,
The code works well in my case. Which Excel version are you using?
This comment was minimized by the moderator on the site
Thank you so much! These directions were super useful :)
This comment was minimized by the moderator on the site
Hi, Is it possible to put the date picker pop-up for multiple column, as in my sheet I have "start date", "end date" and "agreement date". if yes then how?
This comment was minimized by the moderator on the site
Hi jeet,
Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
This comment was minimized by the moderator on the site
Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
This comment was minimized by the moderator on the site
if i try to select a row, the pop up will activate and the date appears in each cell in that row


how can i avoid this
This comment was minimized by the moderator on the site
Hi Sam,
The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
This comment was minimized by the moderator on the site
tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
This comment was minimized by the moderator on the site
Hello everyone,

Can anyone tell me how to popup a calendar in a range of cells, but starting only from the cell right bellow a table header and down bellow in an excel column.


Thank you in advance.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
Good Day,
Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
i used these VBA codes and everthing's fine so far. The range is A2:A10 and calendar pops up when you select a cell into it. But if you mark row from 2 to 10 again the calendar pops again. It's the same with column "A" if you mark it, again the calendar pops. How should i proceed, in order to get the calendar only in the range i've defined?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations