Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Masque de saisie dans Excel

10 réponses
Avatar
Bruno MOSCO
Bonjour,
Existe-t-'il dans Excel 2002, à la manière d'Access, la possibilité
d'affecter un masque de saisie à une cellule.
Exemple : Lorsque je selectionne la cellule A1, celle-ci affiche : __/__/20__
Pour saisir aujourd'hui, je tape 160606 et la cellule A1 affiche : 16/06/2006
J'ai affecté le format personnalisé jj/mm/aaaa à cette cellule.
Salutations
Nono

10 réponses

Avatar
Jacky
Bonjour,

Une alternative d'AV
Copie....
'-----------
Sous réserve de saisir 2 chiffres pour chacun des éléments de la date
(exemple :
260904)
Dans le module de la feuille et pour la plage A1:A10 :

Private Sub Worksheet_Change(ByVal zz As Range)
If Not IsNumeric(zz) Or Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
x = Format(zz, "000000")
Application.EnableEvents = False
zz = DateSerial(Right(x, 2), Mid(x, 3, 2), Left(x, 2))
Application.EnableEvents = True
End Sub
'--------------
Salutations
JJ

"Bruno MOSCO" a écrit dans le message
de news:
Bonjour,
Existe-t-'il dans Excel 2002, à la manière d'Access, la possibilité
d'affecter un masque de saisie à une cellule.
Exemple : Lorsque je selectionne la cellule A1, celle-ci affiche :
__/__/20__

Pour saisir aujourd'hui, je tape 160606 et la cellule A1 affiche :
16/06/2006

J'ai affecté le format personnalisé jj/mm/aaaa à cette cellule.
Salutations
Nono


Avatar
Bruno MOSCO
Bonjour Jacky,
Merci mais j'ai un petit PB. J'ai copié ta procédure mais les dates qui sont
affichée ne correspondent pas à celles saisies :
Exemple : je saisi 190606 (pour 19/06/2006) et j'obtient 09/11/2421 ?
As-tu la soluce ?
Salutations
Nono



Bonjour,

Une alternative d'AV
Copie....
'-----------
Sous réserve de saisir 2 chiffres pour chacun des éléments de la date
(exemple :
260904)
Dans le module de la feuille et pour la plage A1:A10 :

Private Sub Worksheet_Change(ByVal zz As Range)
If Not IsNumeric(zz) Or Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
x = Format(zz, "000000")
Application.EnableEvents = False
zz = DateSerial(Right(x, 2), Mid(x, 3, 2), Left(x, 2))
Application.EnableEvents = True
End Sub
'--------------
Salutations
JJ

"Bruno MOSCO" a écrit dans le message
de news:
Bonjour,
Existe-t-'il dans Excel 2002, à la manière d'Access, la possibilité
d'affecter un masque de saisie à une cellule.
Exemple : Lorsque je selectionne la cellule A1, celle-ci affiche :
__/__/20__

Pour saisir aujourd'hui, je tape 160606 et la cellule A1 affiche :
16/06/2006

J'ai affecté le format personnalisé jj/mm/aaaa à cette cellule.
Salutations
Nono







Avatar
Rai
Bonjour Jacky,
Merci mais j'ai un petit PB. J'ai copié ta procédure mais les dates qui sont
affichée ne correspondent pas à celles saisies :
Exemple : je saisi 190606 (pour 19/06/2006) et j'obtient 09/11/2421 ?
As-tu la soluce ?
Salutations
Nono



Bonjour Nono,

Ca vient de ton format personnalisé jj/mm/aaaa.

Applique le format 'standard' à tes cellules et tout fonctionnera.

bonne journée

Rai

Avatar
Rai
Bonjour Jacky,
Merci mais j'ai un petit PB. J'ai copié ta procédure mais les dates qui sont
affichée ne correspondent pas à celles saisies :
Exemple : je saisi 190606 (pour 19/06/2006) et j'obtient 09/11/2421 ?
As-tu la soluce ?
Salutations
Nono


re-bonjour,


Tu peux garder ton format de cellule "jj/mm/aaa", en remplaçant la 1ere
ligne de la procédure par les 2 suivantes :

If Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
If Not IsNumeric(zz) And Not IsDate(zz) Then Exit Sub

Du coup cela marche que ton format de cellule soit numérique ou date.

Bonne continuation

Rai

Avatar
jps
bonjour bruno
tu cours à la castatrophe (comme disait ma paysanne de voisine) si tu
t'amuses à écrire les dates ainsi (190606) car mes mâitres m'ont toujours
dit que une date, pour excel, c'est en fait un nombre de jours compté depuis
le 01/01/1900 ; fais l'essai de mettre une cellule au format date et mets 1
dedans....
tu m'as néanmoins appris que le 190606 ième jour à compter du 1er janvier de
l'année de la belle époque est le 9 novembre 2421 et comme c'est le jour de
l'anniversaire d'une bonne copine, je me mets de ce pas un petit pense-bête
jps

"Rai" <raimondpointschmidtatberlinpointde> a écrit dans le message de news:
44963410$0$990$
Bonjour Jacky,
Merci mais j'ai un petit PB. J'ai copié ta procédure mais les dates qui
sont affichée ne correspondent pas à celles saisies :
Exemple : je saisi 190606 (pour 19/06/2006) et j'obtient 09/11/2421 ?
As-tu la soluce ?
Salutations
Nono


re-bonjour,


Tu peux garder ton format de cellule "jj/mm/aaa", en remplaçant la 1ere
ligne de la procédure par les 2 suivantes :

If Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
If Not IsNumeric(zz) And Not IsDate(zz) Then Exit Sub

Du coup cela marche que ton format de cellule soit numérique ou date.

Bonne continuation

Rai



Avatar
Rai
bonjour bruno
tu cours à la castatrophe (comme disait ma paysanne de voisine) si tu
t'amuses à écrire les dates ainsi (190606) car mes mâitres m'ont toujours
dit que une date, pour excel, c'est en fait un nombre de jours compté depuis
le 01/01/1900 ; fais l'essai de mettre une cellule au format date et mets 1
dedans....
tu m'as néanmoins appris que le 190606 ième jour à compter du 1er janvier de
l'année de la belle époque est le 9 novembre 2421 et comme c'est le jour de
l'anniversaire d'une bonne copine, je me mets de ce pas un petit pense-bête
jps

Lol !!


et tu crois que 190608 sera toujours un jour férié en France ??
(avec quelques soucis pour trouver le dernier des poilus)

Bon, faut pas croire au gars qui viendrait nous rendre visite le 190652.


Joke mis à part, je ne peux qu'abonder dans ton sens JPS.
Je préfère écrire et gérer mes dates dans des formats plus 'standards'
en gardant à l'esprit que 1 représente 1 jour (utile pour les heures
qu'on veut multiplier ...) chez Excel.

Bonne journée

Rai

Avatar
jps
:-))))
et si tu vois les "bleus" passer dans ton quartier, dis-leur que les
togolais vont toucher leurs primes et que même si elles font figure d'aumône
à côté des leurs, ils ont quand même intérêt à se défoncer s'ils ne veulent
pas voir disparaître leurs pubs de nos étranges lucarnes...
jps

"Rai" <raimondpointschmidtatberlinpointde> a écrit dans le message de news:
44964197$0$853$
bonjour bruno
tu cours à la castatrophe (comme disait ma paysanne de voisine) si tu
t'amuses à écrire les dates ainsi (190606) car mes mâitres m'ont toujours
dit que une date, pour excel, c'est en fait un nombre de jours compté
depuis le 01/01/1900 ; fais l'essai de mettre une cellule au format date
et mets 1 dedans....
tu m'as néanmoins appris que le 190606 ième jour à compter du 1er janvier
de l'année de la belle époque est le 9 novembre 2421 et comme c'est le
jour de l'anniversaire d'une bonne copine, je me mets de ce pas un petit
pense-bête
jps

Lol !!


et tu crois que 190608 sera toujours un jour férié en France ??
(avec quelques soucis pour trouver le dernier des poilus)

Bon, faut pas croire au gars qui viendrait nous rendre visite le 190652.


Joke mis à part, je ne peux qu'abonder dans ton sens JPS.
Je préfère écrire et gérer mes dates dans des formats plus 'standards' en
gardant à l'esprit que 1 représente 1 jour (utile pour les heures qu'on
veut multiplier ...) chez Excel.

Bonne journée

Rai



Avatar
Bruno MOSCO
Merci Rai, ça gaze.
Comme je n'utilise pas ces dates pour des calculs, no PB
Bruno


Bonjour Jacky,
Merci mais j'ai un petit PB. J'ai copié ta procédure mais les dates qui sont
affichée ne correspondent pas à celles saisies :
Exemple : je saisi 190606 (pour 19/06/2006) et j'obtient 09/11/2421 ?
As-tu la soluce ?
Salutations
Nono


re-bonjour,


Tu peux garder ton format de cellule "jj/mm/aaa", en remplaçant la 1ere
ligne de la procédure par les 2 suivantes :

If Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
If Not IsNumeric(zz) And Not IsDate(zz) Then Exit Sub

Du coup cela marche que ton format de cellule soit numérique ou date.

Bonne continuation

Rai




Avatar
Bruno MOSCO
T'inquiéte, je pense que nous auront des bleus qui seront bons le 190606,
soit le 9/11/2421 :-))))))))
Pour ce qui est de ma demande, je n'utilise pas ces dates pour des calculs
donc no Pb.
Merci et a l'occas.
Bruno


:-))))
et si tu vois les "bleus" passer dans ton quartier, dis-leur que les
togolais vont toucher leurs primes et que même si elles font figure d'aumône
à côté des leurs, ils ont quand même intérêt à se défoncer s'ils ne veulent
pas voir disparaître leurs pubs de nos étranges lucarnes...
jps

"Rai" <raimondpointschmidtatberlinpointde> a écrit dans le message de news:
44964197$0$853$
bonjour bruno
tu cours à la castatrophe (comme disait ma paysanne de voisine) si tu
t'amuses à écrire les dates ainsi (190606) car mes mâitres m'ont toujours
dit que une date, pour excel, c'est en fait un nombre de jours compté
depuis le 01/01/1900 ; fais l'essai de mettre une cellule au format date
et mets 1 dedans....
tu m'as néanmoins appris que le 190606 ième jour à compter du 1er janvier
de l'année de la belle époque est le 9 novembre 2421 et comme c'est le
jour de l'anniversaire d'une bonne copine, je me mets de ce pas un petit
pense-bête
jps

Lol !!


et tu crois que 190608 sera toujours un jour férié en France ??
(avec quelques soucis pour trouver le dernier des poilus)

Bon, faut pas croire au gars qui viendrait nous rendre visite le 190652.


Joke mis à part, je ne peux qu'abonder dans ton sens JPS.
Je préfère écrire et gérer mes dates dans des formats plus 'standards' en
gardant à l'esprit que 1 représente 1 jour (utile pour les heures qu'on
veut multiplier ...) chez Excel.

Bonne journée

Rai







Avatar
Clément Marcotte
Chez-nous, les Bleus ont leur fête le 24 juin, les Rouges ont la leur le
premier juillet. Les écoeurés de la maudite politique n'ont aucune chance et
aucune raison de fêter.


"jps" a écrit dans le message de news:

:-))))
et si tu vois les "bleus" passer dans ton quartier, dis-leur que les
togolais vont toucher leurs primes et que même si elles font figure
d'aumône à côté des leurs, ils ont quand même intérêt à se défoncer s'ils
ne veulent pas voir disparaître leurs pubs de nos étranges lucarnes...
jps

"Rai" <raimondpointschmidtatberlinpointde> a écrit dans le message de
news: 44964197$0$853$
bonjour bruno
tu cours à la castatrophe (comme disait ma paysanne de voisine) si tu
t'amuses à écrire les dates ainsi (190606) car mes mâitres m'ont
toujours dit que une date, pour excel, c'est en fait un nombre de jours
compté depuis le 01/01/1900 ; fais l'essai de mettre une cellule au
format date et mets 1 dedans....
tu m'as néanmoins appris que le 190606 ième jour à compter du 1er
janvier de l'année de la belle époque est le 9 novembre 2421 et comme
c'est le jour de l'anniversaire d'une bonne copine, je me mets de ce pas
un petit pense-bête
jps

Lol !!


et tu crois que 190608 sera toujours un jour férié en France ??
(avec quelques soucis pour trouver le dernier des poilus)

Bon, faut pas croire au gars qui viendrait nous rendre visite le 190652.


Joke mis à part, je ne peux qu'abonder dans ton sens JPS.
Je préfère écrire et gérer mes dates dans des formats plus 'standards' en
gardant à l'esprit que 1 représente 1 jour (utile pour les heures qu'on
veut multiplier ...) chez Excel.

Bonne journée

Rai