XL 2016 Dates différentes selon la feuille du classeur.

BALANCIE

XLDnaute Junior
Bonjour,

J'ai besoin de votre aide pour ce petit problème de formatage de cellule Date.

J'ai un classeur pour 1 an avec les 12 onglets Mois.
J'aurai besoin de mettre la date correspondante au mois de l'onglet ( la feuille) par ex pour le mois de Février, Juin où Septembre selon mes besoins dans la colonne Date.

Celle-ci devrait se présentée ainsi : 10/02, 15/06 , 20/09 (toujours pour l' exemple).
J'aimerais pouvoir le faire simplement en tapant les 2 premiers chiffres (10,15 où 20) et non pas en tapant les 4 chiffres pour des raisons de rapidité , mon listing étant particulièrement important.

Comment faire ?
Merci à vous.
 

Lolote83

XLDnaute Barbatruc
Salut BALANCIE,
Avec une colonne supplémentaire qui est calculée en fonction de l'année et du mois.
Voir fichier exemple (si j'ai bien compris la consigne)
@+ Lolote83
 

Pièces jointes

  • Copie de BALANCIE - Date sur petite saisie.xlsx
    16.7 KB · Affichages: 11

Lolote83

XLDnaute Barbatruc
Re salut,
Tu dis
J'aimerais pouvoir le faire simplement en tapant les 2 premiers chiffres (10,15 où 20) et non pas en tapant les 4 chiffres pour des raisons de rapidité , mon listing étant particulièrement important.
Dans mon exemple, tu saisies bien les deux chiffres en colonne C et de fait, en colonne D tu auras la date transformée en fonction du mois.
Sinon, afin de ne pas tourner en rond, un fichier exemple avec ce que tu souhaites et ce que tu veux comme résultats éviterais des erreurs d’appréciations.
@+ Lolote83
 

BALANCIE

XLDnaute Junior
(j'avais oublié un mot, je tape sur un PC , je suis habitué à mon Mac).
Je reprends :

Bonjour @+ Lolote83

Merci pour la réponse, pas mal du tout.
La preuve que nous sommes beaucoup plus intelligent à plusieurs.
La réponse me va.
Merci.
Daryl.
 

BALANCIE

XLDnaute Junior
Re-bonjour,

L'idée est bonne, mais elle m'oblige à créer une colonne supplémentaire dans le tableau qui ne me sert à rien.
J'aimerais pouvoir effectuer cette manip directement dans la même colonne Date. Tout simplement comme si j'avais formaté la cellule Date.
on tape un chiffre ex. 17 et il apparait 17/01.
Merci de votre aide.
 

zebanx

XLDnaute Accro
Bonsoir Balancie, Lolote83, le forum

Je préfère de loin ajouter une colonne supplémentaire comme le fait Lolote83 qui se révèle très rapide à manipuler mais néanmoins, en utilisant une privatesub (code renseigné sur chaque feuille) et une fonction qui convertit le nom de l'onglet en chiffre, ça donne quelque chose comme ça (concours indirect de MaPomme et Job75 : cc ! :)) pour modifier la valeur à chaque saisie (et non en masse donc).

Remarques
Fichier non transmis au départ = réponse partielle et non satisfaisante pour le demandeur...:rolleyes:

1/Il faudra modifier les bornes. Le fichier transmis par Lolote83 a été pris comme exemple, on travaille donc sur la colonne B dans le codes suivant :
Private Sub Worksheet_Change(ByVal target As Range)
Application.EnableEvents = False
If Not Application.Intersect(target, Range("B:B")) Is Nothing Then
With target
'.Value = DateSerial(Cells(1, 3), Cells(2, 3), .Value)
Tst = ActiveSheet.Name
.Value = DateSerial(2018, NumMois(Tst), .Value)
.NumberFormat = "dd/mm"
End With
End If
Application.EnableEvents = True
End Sub


Si vos noms d'onglet sont "janvier", "février"... il faudra corriger manuellement les données dans le module 1 (ALT + F11 pour accéder à l'éditeur VBA).

Function NumMois(x)
'---Mapomme
'retourne zéro si pas dans liste
NumMois = (InStr(",jan,fév,mar,avr,mai,jun,jui,aoû,sep,oct,nov,déc," _
, "," & x & ",") + 3) \ 4
End Function

@+
 

Pièces jointes

  • date.xls
    84.5 KB · Affichages: 15

BALANCIE

XLDnaute Junior
Bonsoir zebanx
Merci pour la réponse.
Je regarde cela demain matin et je reviens vers vous.

"Fichier non transmis au départ = réponse partielle et non satisfaisante pour le demandeur...:rolleyes:"
Effectivement, je suis bien d'accord. Je vais préparé un petit fichier, le mien est réellement trop gros.
Encore merci à vous 2.
Daryl.
 

BALANCIE

XLDnaute Junior
Bonjour zebanx et Lolote83,

Zebanx : Parfait, c'est exactement ce que je voulais. Je vais me servir de cette solution facile à mettre en place.
Lolote83 : merci encore, je garde cette manip, elle va me servir sur un autre fichier en préparation.
Bonne journée à vous tous.
Daryl.
 

Discussions similaires

Statistiques des forums

Discussions
311 540
Messages
2 080 523
Membres
101 234
dernier inscrit
Layani89