• Initiateur de la discussion Initiateur de la discussion cora
  • 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 !

cora

XLDnaute Occasionnel
Bonjour à tous,

J'avais récupérer ce code qui me permet d'inscrire automatiquement la date du jour sur une des cellules de la colonnes H, dès lors qu'une valeur est saisie dans une des cellules de la colonne I. Le souci c'est que la date du jour s'affiche dans ce format: "05/04/2013 09:11:31" et je souhaiterais qu'elle s'affiche dans ce format: "05/04/2013" sans l'heure. est-ce possible ?

Merci de votre aide

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Intersect(Target, Range("I12:I200")) Is Nothing Then Exit Sub
If Target = "" Then Target.Offset(0, -1) = "=today()" Else Target.Offset(0, -1) = Now()
End Sub
 
Re : Code VBA

Bonjour,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count <> 1 Then Exit Sub
    If Intersect(Target, Range("I12:I200")) Is Nothing Then Exit Sub
    If Target = "" Then Target.Offset(0, -1) = "=today()" Else Target.Offset(0, -1) = Format(Date(), "DD/MM/YYYY")
End Sub

Si la solution de Dull ne suffit pas, voilà qui devrait régler le problème en forçant le format.

EDIT: petit croisement, la solution de Dull marche, pas besoin d'aller plus loin

Cordialement,
 
Re : Code VBA

Bonjour cora,

Voici une proposition. Met la colonne H au format Date persoonlisée et ensuite copie le code.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lig As Long, i As Integer, madate
If Not Intersect(Target, Range("h1:h20000")) Is Nothing Then Exit Sub
lig = Range("h65536").End(xlUp).Row
On Error Resume Next
For i = 1 To lig
If Cells(i + 1, 9).Value = "" Then Exit For
Cells(i + 1, 8).Value = Date
madate = Cells(i, 8)
 If IsDate(madate) Then
With Cells(i + 1, 8)
If .NumberFormat = "mm/dd/yyyy" Then
madate = .Value
.NumberFormat = "dd/mm/yyyy"
.Value = CDate(Month(madate) & "/" & Day(madate) & "/" & Year(madate))
End If
End With
End If
Next i
End Sub

A bientôt 😎
 
Dernière édition:
- 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

Réponses
9
Affichages
508
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour