Modifier la saisie date

Bonjour

J'aimerais pouvoir saisir XX.XX et obtenir xx/xx/xxxx en fonction d'une colonne année

cf tableur joint.

J'ai bien pensé par REMPLACER . par/ mais cela est irrémédiable pour les autres saisies où il faut que je garde mon point.

Solution ?

Cordialement

Tonthon

Bonjour

Que ce soit avec un point ou une virgule

Formule en C7

=DATE(A7;DROITE(B7;2)*1;GAUCHE(B7;2)*1)

Cordialement

Bonjour,

Un essai par macro qui mets la date au bon format dans la cellule ou la saisie est effectuée. (ne marche qu'avec le point mais possibilité de rajouter la virgule, et seulement sur la plage B7:B33 dans le fichier exemple).

Cordialement,

Bonjour

La dernière solution est encore plus simple puisque l'idée est de saisir dans la cellule date par exemple 02.07 et le fait de faire entrée ou de sortir voir apparaître 02/07/2011 lorsque la colonne "année" est 2011.

J'ai donc essayé mais cela m'affiche /2011/2011 donc il donc y avoir un petit bug ?

Cordialement

Tonthon

Surement un problème de format de cellule.

modifie la derniére ligne comme ceci :

Target.Value = CDate(TargetTemp & "/" & Range("A" & Target.Row))

Cordialement,

RE

Comment le dire ?

Je n'y arrive pas...j'ai remplacé la dernière ligne par celle préconisée ....sans résultat

Pourrais-tu me donner une version "solutionnée", ce me dépannerait !

Cordialement

Tonthon

le fichier corrigé

Par contre pour que cela marche il faut que tes cellules soient au format date et non pas format personnalisé.

Cordialement,

Désolé, cela ne doit pas être un bon jour.

Je garde le sourire,... donc à priori avec le dernier fichier cela ne marche pas cf tableur d'essai.....pourtant B est bien dans un format date standard

Cordialement

Normal, dans le poste de base tu parlais de saisie avec un point comme séparateur, si tu fais tes saisies avec une virgule, cela ne fonctionne pas, ou alors il faut modifier la macro

Cordialement,

J'allais me confondre en excuses mais avant j'ai jeté un coup d’œil pour avoir la confirmation de ma bévue.

Je pars bien du dernier tableur d'ici et j'ai mis des . "points"

Peut-être une éruption solaire qui vient perturber ce tableur ?

En attendant je ne vois pas du tout pourquoi chez toi c'est ok et pas chez moi

Cordialement

Tonthon

j'ai testé le dernier que tu as remis, et avec des points ca marche chez moi.

Et dans la colonne ou tu indique ce que tu as saisie, c'est bie ndes chiffres à virgule et pas des points

Bonjour,

Je suis cool ce matin, zen.... et je reprends ce post.

Je ne conteste pas tes affirmations de ce que tu vois chez toi.

J'ai repris le dernier tableur.....moi je vois que j'ai mis des points

Par précaution j'ai repris l"avant dernier tableur...toujours des points

L'ennui est que le résultat est faux au niveau mois et année

J'ai joins ce dernier tableur now.....pourras-tu ouvrir celui-ci et me dire ce qu'il en est ?

==> je retrouve bien xx/xx/xxxx mais c'est erroné

Il doit y avoir une explication, non ?

Cordialement

Tonthon

12mod-date.zip (9.98 Ko)

Bonjour,

Sur ton dernier fichier, cela fonctionne parfaitement chez moi.

Je n'obtiens les mêmes résultats que toi, seulement en faisant la saisie avec .... une virgule

Bon du coup, je ne me suis pas embété, j'ai adapté la proposition d'Amadéus en VBA :

Private Sub Worksheet_Change(ByVal Target As Range)

Dim TargetTemp As String

If Not Application.Intersect(Target, Range("B7:B33")) Is Nothing And Len(Target) < 10 Then
    If Target <> "" Then
        TargetTemp = DateSerial(Range("A" & Target.Row), Right(Target, 2) * 1, Left(Target, 2) * 1)
        Target.Value = TargetTemp
    Else: Exit Sub
    End If
End If

End Sub

par contre pour que cela fonctionne, repasse toutes tes cellules en format standard.

Cordialement,

RE

Pour éviter de devenir chauve, je crois que je vais renoncer, ce qui ne me correspond pas du tout.

J'ai pris le dernier tableur qui fonctionne chez toi, ouverture puis ...alt +F11 , viré le script existant et replacer par le dernier proposé, enregistré, fermé.

et....et..par précaution colonnes A B et C format "standard"... je saisis 01.12 -01point12) etc... d'autres essais comme 1.12 etc. et j'obtiens des résultats fantaisiste comme toi apparemment en prenant une virgule.

Je ne sais plus quoi faire.... ultime demande que tu m'envoies un tableur vierge avec la colonne B7:B300 -peut importe opérationnelle ?

Cordialement

Tonthon

Bon, voilà un fichier qui fonctionne chez moi, vierge, avec la macro réglée pour la colonne B allant de B7 à B500.

Si cela ne marche pas chez toi, cela viens de la différence de version d'Excel (bien que sur des fonctions aussi simples je ne penses pas) Soit cela viens d'un réglage dans tes options.

Cordialement,

Bonjour

Une approche différente de ce que j'ai vu

RE

Cela devient du délire !

J'ai repris le dernier tableur.....effectivement la remarque de Banzai64 est troublante.

Ce ne rien par rapport autres essais sur ce tableur.......en mettant UNE VIRGULE le résultat est bon !...dans certains cas !

C'est contre toute logique, je ne comprends pas

Tonthon

Bonjour

As tu essayé 01.10 (avec le point) ?

Comme tu n'as pas précisé (ce n'est pas un obligation) quel Excel utilises tu ?

Peut être que les paramètres ne sont pas les mêmes

J'utilise la virgule comme séparateur décimal

Rechercher des sujets similaires à "modifier saisie date"