Note: The other languages of the website are Google-translated. Back to English

Comment autoriser uniquement le format de date dans des cellules spécifiques?

Comment pouvez-vous restreindre une liste de cellules pour autoriser uniquement la saisie du format de date dans la feuille de calcul Excel? Dans cet article, je parlerai de quelques astuces intéressantes pour faire face à ce travail.

Autoriser uniquement le format de date dans des cellules spécifiques avec la fonction de validation des données

Autoriser uniquement le format de date dans des cellules spécifiques avec le code VBA


flèche bleue bulle droite Autoriser uniquement le format de date dans des cellules spécifiques avec la fonction de validation des données

Dans Excel, le Validation des données est une fonction puissante qui peut vous aider à créer une liste déroulante, pour éviter les doublons, etc. Veuillez suivre les étapes suivantes:

1Cliquez sur Données > Validation des données > Validation des données, voir capture d'écran:

doc autoriser la date 1

2. Dans le Validation des données boîte de dialogue, cliquez sur Paramètres onglet, puis choisissez Applications du Autoriser liste déroulante, puis entrez cette formule: = AND (ISNUMBER (B2), LEFT (CELL ("format", B2), 1) = "D") into the Laits en poudre zone de texte, voir capture d'écran:

doc autoriser la date 2

Notes: Dans la formule ci-dessus, B2 est la première cellule de la colonne dont vous souhaitez restreindre le format des données.

doc autoriser la date 3

3. Puis continuez en cliquant Alerte d'erreur onglet dans la boîte de dialogue, veuillez effectuer les opérations suivantes:

(1.) Vérifier Afficher une alerte d'erreur après la saisie de données non valides l'option;

(2.) Sous le Style déroulant, veuillez sélectionner Arrêter l'option;

(3.) Tapez le Titre et Message d'erreur que vous souhaitez afficher dans la boîte de dialogue.

4. Après avoir terminé les réglages, cliquez sur OK bouton, et maintenant, lorsque vous entrez les données qui ne sont pas au format de date réel, une boîte de dialogue apparaîtra pour vous rappeler que la capture d'écran suivante est illustrée:

doc autoriser la date 4


flèche bleue bulle droite Autoriser uniquement le format de date dans des cellules spécifiques avec le code VBA

La deuxième méthode, je vais vous présenter un code VBA.

1. Activez la feuille de calcul que vous souhaitez utiliser.

2. Cliquez ensuite avec le bouton droit sur l'onglet de la feuille et sélectionnez Voir le code depuis le menu contextuel, voir capture d'écran:

doc autoriser la date 5

3. Dans le affiché Microsoft Visual Basic pour applications fenêtre, copiez et collez le code ci-dessous dans le Module, voir capture d'écran:

Code VBA: autoriser uniquement la saisie du format de date dans des cellules spécifiques:

Private Sub Worksheet_Change(ByVal Target As Range)
'updateby Extendoffice
Set w = ActiveSheet.Range("B2:B12")
For Each c In w
If c.Value <> "" And Not IsDate(c) Then
c.ClearContents
MsgBox "Only a date format is permitted in this cell."
End If
Next c
End Sub

doc autoriser la date 6

4. Ensuite, enregistrez l'annonce fermez le code, maintenant, lorsque vous entrez la valeur qui n'est pas le format de date dans la plage B2: B12, une boîte de dialogue apparaîtra pour vous le rappeler et la valeur de la cellule sera effacée en même temps, voir capture d'écran:

doc autoriser la date 7


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éeplus
  • 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 gammesplus
  • 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 cellulesplus
  • 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 PDFplus
  • 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

 

Commentaires (8)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
quel format de date cette fonction est-elle autorisée. Cela ne fonctionne pas pour certaines dates
Ce commentaire a été minimisé par le modérateur sur le site
comment ajouter une validation de date pour le format de date "JJ-mmm-aaa" (15-Dec-2018) comme ceci
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup, pour que le code VBA soit appliqué à plusieurs colonnes, pouvez-vous s'il vous plaît fournir la formule? .. J'ai essayé mais j'ai fini par obtenir une erreur 405!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Kévin,
Pour que le code s'applique à plusieurs plages, il vous suffit d'ajouter les références de cellule dans le code comme ci-dessous :

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Set w = ActiveSheet.Range("B2:B12,A1:A10,C5:C20")
Pour chaque c dans w
If c.Value <> "" And Not IsDate(c) Then
c.ClearContents
MsgBox "Seul un format de date est autorisé dans cette cellule."
Si fin
Suivant c
End Sub

S'il vous plaît essayez, j'espère que cela peut vous aider!
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup @skyyang, j'apprécie vraiment votre aide :)
Ce commentaire a été minimisé par le modérateur sur le site
Comment puis-je obliger à entrer un temps ? (hh:mm)Private Sub Worksheet_Change(ByVal Target As Range)
'mise à jour par Extendoffice 20150530
Set w = ActiveSheet.Range("B2:B12")
Pour chaque c dans w
If c.Value <> "" And Not IsDate(c) Then <----------------------------------------And Not isTime(c) ne fonctionne pas !
c.ClearContents
MsgBox "Seul un format de date est autorisé dans cette cellule."
Si fin
Suivant c
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Roberto,

Pour autoriser uniquement la saisie du format de l'heure, vous devez appliquer le code ci-dessous :



Private Sub Worksheet_Change (Cible ByVal en tant que plage)

'mise à jour par Extendoffice

Dim xArr comme variante

Dim xF en tant qu'entier

Dim xB comme booléen

Dim xWRg, xCRg As Range

Définir xWRg = ActiveSheet.Range("B2:B20")

Pour chaque xCRg dans xWRg

xArr = Split(xCRg.Valeur, ":")

xB = faux

Si UBound(xArr) <= 2 Alors

Pour xF = LBound(xArr) Vers UBound(xArr)

Si EstNumérique(xArr(xF)) Alors

Si xF = 0 Alors

Si (xArr(xF) > 0) Et (xArr(xF) < 24) Alors

autre

xB = Vrai

GoTo BTime

Si fin

autre

Si (xArr(xF) > 0) Et (xArr(xF) < 60) Alors

autre

xB = Vrai

GoTo BTime

Si fin

Si fin

autre

xB = Vrai

GoTo BTime

Si fin

Suivant

autre

MsgBox "Seul un format d'heure est autorisé dans cette cellule."

xCRg.ClearContents

Si fin

BHeure :

Si xB Alors

MsgBox "Seul un format d'heure est autorisé dans cette cellule."

xCRg.ClearContents

Si fin

xCRg suivant

End Sub



S'il vous plaît essayez-le, merci!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Désolé pour le rafraîchissement, le code fonctionne très bien, merci. Je veux juste ajouter une vérification supplémentaire si c'est possible. Est-il possible de vérifier la cellule à gauche si elle contient une certaine valeur. Fondamentalement, ce dont j'ai besoin est le suivant : si la cellule de gauche contient N, cette cellule dans la plage doit être entrée en tant que date. Si la cellule de gauche est Y, cette cellule doit rester vide.
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés