Masque de saisie de date dans une cellule SANS Vba.

Charly88

XLDnaute Occasionnel
Bonjour à tous, après plusieurs recherches, je ne trouve pas comment faire ce que j'ai écrit en titre.
Bêtement, taper à "01022009" et voir apparaître, en format date : 01/02/2009


En fait, d'après ce vieux fil :
https://www.excel-downloads.com/threads/masque-de-saisie.16056/

Il semblerait que cela soit impossible simplement... Depuis 2004, y'a-t-il eu du nouveau ?
Le "machin" appelé Excel 2007 a-t-il fait des progrés dans ce domaine par exemple ? :)

Merci d'avance.
 

job75

XLDnaute Barbatruc
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonjour Charly88,

J'espère bien qu'Excel 2007 ne fait pas ça !

Ce serait très casse-pieds (en tout cas pour moi) qu'Excel transforme en date, à chaque fois, un nombre de 7 ou 8 chiffres... Edit : et pourquoi pas 2, 3, 4, 5, 6, 7, 8 chiffres...

On peut toujours faire ça avec VBA si ça amuse :cool:

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Masque de saisie de date dans une cellule SANS Vba.

Re,

Pour ceux que ça intéresse, la macro suivante (dans le code de la feuille) convertit (quand c'est possible) un nombre de 7 ou 8 chiffres en date :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'---Convertit un nombre de 7 ou 8 chiffres en date---
Dim d As Variant
Set Target = Target.Cells(1, 1) 'une seule cellule
d = Target.Value2 'l'idéal serait de connaître la frappe exacte...
If Not (d Like "#######" Or d Like "########") Then Exit Sub
d = Left(Right(d, 6), 2) & "/" & Left(Right(0 & d, 8), 2) & "/" & Right(d, 4) 'mm/dd/yyyy
d = [COLOR="Red"]ExecuteExcel4Macro[/COLOR]("DATEVALUE(""" & d & """)")
If IsNumeric(d) Then
Target.NumberFormat = "dd/mm/yyyy"
Target = d
Else
Target.NumberFormat = "General"
End If
End Sub

Edit : j'utilise finalement ExecuteExcel4Macro pour obtenir le numéro de série de la date.

A+
 
Dernière édition:

hakkevin

XLDnaute Nouveau
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonjour job 75,

dis-moi, tu pourrais pas mettre un truc a copier coller direct dans vba pour ceux qui comprennent vraiment QUE DALLE a ce langage d'initiés ?

En fait pour être honnete, je ne saurais même pas où le coller ! ;)

Si j'ouvre vba sans passer par "créer une macro" dans excel 2007, je ne peux rien écrire dans le champs.

Ben oui, j'suis vrai débutant ! Et on me demande de créer une solution pro pour la nouvelle toute petite entreprise que je viens d'intégrer. Et un masque de saisie pour les gens rentrent la date en 5-5, ça fait pro non ? merci de m'expliquer comment faire fonctionner ton "machin" si tu peux stp, dans le cas contraire, ils rentrereont la date a la main et tant pis, ça fait déjé deux heures que je suis sur ça à jongler entre les forums !
 

JNP

XLDnaute Barbatruc
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonjour Hakkevin :),
Evite l'agressivité si tu souhaites des réponses. L'énervement n'excuse pas la façon de s'exprimer. Ce n'est pas en accusant Job75 d'être incompréhensible qu'il va avoir envie de répondre, surtout qu'il ne doit plus être abonné à ce fil depuis belle lurette :p...
dis-moi, tu pourrais pas mettre un truc a copier coller direct dans vba pour ceux qui comprennent vraiment QUE DALLE a ce langage d'initiés ?
C'est exactement ce qu'il a fait, sauf qu'il n'a pas précisé que c'était dans le code de la feuille...
En fait pour être honnete, je ne saurais même pas où le coller ! ;)
Si j'ouvre vba sans passer par "créer une macro" dans excel 2007, je ne peux rien écrire dans le champs.
Dans ce cas précis, il suffit de double-cliquer sur la feuille dans l'arborescence à gauche (Affichage -> Explorateur de projet ou Ctrl+r si elle n'apparait pas à l'ouverture de l'éditeur VBA) sur laquelle tu veux contrôler la saisie. Dans les autre cas, clic-droit sur l'arborescence et Insertion -> Module pour obtenir une fenêtre où coller la programmation.
Ben oui, j'suis vrai débutant !
Et on me demande de créer une solution pro pour la nouvelle toute petite entreprise que je viens d'intégrer.
Et un masque de saisie pour les gens rentrent la date en 5-5, ça fait pro non ?
merci de m'expliquer comment faire fonctionner ton "machin" si tu peux stp, dans le cas contraire, ils rentrereont la date a la main et tant pis, ça fait déjé deux heures que je suis sur ça à jongler entre les forums !
Il faut bien débuter un jour :rolleyes:... Je te mets la macro de Job dans un fichier en pièce jointe. Mais par contre, pour le 5-5, il faudra que tu nous expliques, je ne vois pas comment on peux rentrer une date avec 5 chiffres, un tiret, et de nouveau 5 chiffres :confused:.
Bon WE :cool:
 

Pièces jointes

  • Masque Job.xls
    32 KB · Affichages: 415

job75

XLDnaute Barbatruc
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonjour hakkevin, salut JNP,

Je passe par là par hasard.

C'est sûr : avant de se lancer dans VBA, passer au moins une petite heure sur ce forum pour le travailler :)

Quant à :

En fait pour être honnete, je ne saurais même pas où le coller ! ;)

j'avais écrit :

Code:
Pour ceux que ça intéresse, la macro suivante ([B]dans le code de la feuille[/B])

Clic droit sur l'onglet de la feuille puis Visualiser le code.

A+
 

hakkevin

XLDnaute Nouveau
Re : Masque de saisie de date dans une cellule SANS Vba.

désolé, ce n'était pas de l'agressivité, c'est juste que j'utilise un champ lexicale plutôt direct... Navré que celà ait été mal interprété.
En tout cas merci beaucoup pour vos réponses, ç'est vraiment sympa. Je m'y colle dès demain, maintenant c'est dimanche soir et le week-end a été dure..;p
encore merci !
 

yblotiere

XLDnaute Occasionnel
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonjour:confused:

je reprend cette discussion car j'ai bien utilisé le code donné
mais j'ai un soucis
je me retrouve avec des ##### dans la cellules et en me positionnent dessus
j'ai un message qui me dit ceci les heure et dates négative s'affiche sous la forme #######

je ne sait pas qui faire

merci de votre aide
 

Modeste geedee

XLDnaute Barbatruc
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonsour®
plusieurs recherches, je ne trouve pas comment faire ce que j'ai écrit en titre.
Bêtement, taper à "01022009" et voir apparaître, en format date : 01/02/2009


En fait, d'après ce vieux fil :
https://www.excel-downloads.com/threads/masque-de-saisie.16056/

Il semblerait que cela soit impossible simplement... Depuis 2004, y'a-t-il eu du nouveau ?
Le "machin" appelé Excel 2007 a-t-il fait des progrés dans ce domaine par exemple ? :)

Merci d'avance.

:cool:

s'il ne s'agit que de "voir apparaitre"...
alors format de cellule :
00"/"00"/"0000

attention le contenu reel de la cellule est inchangé(valeur dans la barre de formule)
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia