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...
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
@+