Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

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 un 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 Projet 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 pour 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 > du Paquet > 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:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pete · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Hannah · 2 years ago
    The calendar will show up but when I click on the date, the cell doesn't populate
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi,
      The code works well in my case. Which Excel version are you using?
  • To post as a guest, your comment is unpublished.
    DwarthK · 2 years ago
    Thank you so much! These directions were super useful :)
  • To post as a guest, your comment is unpublished.
    jeet · 2 years ago
    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?
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi jeet,
      Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
  • To post as a guest, your comment is unpublished.
    Giuseppe · 2 years ago
    Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
  • To post as a guest, your comment is unpublished.
    Sam · 2 years ago
    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
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Sam,
      The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
  • To post as a guest, your comment is unpublished.
    cevat · 2 years ago
    tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
  • To post as a guest, your comment is unpublished.
    MG · 4 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Chris · 2 years ago
      Use i.e: Range("B6:C30")
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Good Day,
      Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
      • To post as a guest, your comment is unpublished.
        Chris · 2 years ago
        Use i.e: Range("B6:C30")
  • To post as a guest, your comment is unpublished.
    George · 4 years ago
    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?
  • To post as a guest, your comment is unpublished.
    Sirimon · 4 years ago
    I want to show pop up calendar under the cell selected.How should I do?