insérer date du jour seulement et afficher l'année et le mois automatiquement.

  • Initiateur de la discussion Initiateur de la discussion Checko
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Checko

XLDnaute Nouveau
Bonjours ou bonsoir à vous tous. Merci d'avance pour vos futurs bon conseils.

Donc voilà mon problème, Pour chacune des colonnes de A à L, en la ligne 1 j'ai inscris les 12 mois de l'année. Sous la colonne N, j'ai inscrit en N1 2010, N2 2011, N3 2013 ainsi de suite jusqu'en 2025.

Sous chacun des mois, dans les cellules, je voudrais inscrire la valeur du jour seulement, mais voir afficher l'année, le mois et finalement le jour que j'ai inséré. Donc, A1 qui est Janvier en A2 si j'inscris 8 je voudrais voir afficher 2014-01-08 C1 qui est Mars, en C2 si j'inscris 8 je voudrais voir afficher 2014-03-08

Merci à vous de votre aides qui me sera fort utile.
 
Re : insérer date du jour seulement et afficher l'année et le mois automatiquement.

Bonsoir à tous


Sans passer par une macro, je vois pas comment faire

Donc avec une macro (à mettre dans le code de la feuille concernée)
et me basant sur ces conditions
Pour chacune des colonnes de A à L, en la ligne 1 j'ai inscris les 12 mois de l'année. Sous la colonne N, j'ai inscrit en N1 2010, N2 2011, N3 2013 ainsi de suite jusqu'en 2025.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Row > 1 Then
If Not Intersect(Target, Columns("A:L")) Is Nothing Then
Application.EnableEvents = False
Target.Value = DateSerial(Cells(Target.Row, "N"), Target.Column, Target.Value)
Target.NumberFormatLocal = "aaaa-mm-jj"
Application.EnableEvents = True
End If
End If
End Sub

PS: Test OK sur mon PC
01datedujour.png
C'est là qu'il faudra copier le code VBA.
 
Dernière édition:
Re : insérer date du jour seulement et afficher l'année et le mois automatiquement.

Bonsoir Checko, salut R@chid, JM,

Une autre façon de faire :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, dat$
Set r = Intersect(Target, [A2:L17])
If r Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In r 'si entrées multiples (copier-coller)
  dat = r.Value2 & "/" & r.Column & "/" & Cells(r.Row, "N")
  If IsDate(dat) Then r = CDate(dat) Else r = ""
Next
Application.EnableEvents = True
End Sub
Fichier joint.

Bonne nuit et A+
 

Pièces jointes

Dernière édition:
Re : insérer date du jour seulement et afficher l'année et le mois automatiquement.

Bonjour Checko, R@chid, JM,

Si l'on veut que l'entrée d'une "vraie" date répondant aux critères soit aussi acceptée utiliser :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, dat$, valide As Boolean
Set r = Intersect(Target, [A2:L17])
If r Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In r 'si entrées multiples (copier-coller)
  dat = r.Value2 & "/" & r.Column & "/" & Cells(r.Row, "N")
  valide = False
  If IsDate(r) Then valide = Month(r) = r.Column And Year(r) = Cells(r.Row, "N")
  If IsDate(dat) Then r = CDate(dat) Else If Not valide Then r = ""
Next
Application.EnableEvents = True
End Sub
Fichier (2).

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

O
Réponses
1
Affichages
2 K
Lord Nelson
L
C
Réponses
13
Affichages
3 K
A
Retour