Aide pour améliorer un macro date et heure

rahamata

XLDnaute Nouveau
Bonjour,
Je me permets de solliciter votre aide pour améliorer le macro ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range)

If (Target.Column = 5 Or Target.Column = 9 Or Target.Column = 13 Or Target.Column = 17 Or Target.Column = 21 Or Target.Column = 25 Or Target.Column = 29) And Target.Value <> "" Then

Target.Offset(0, 1).Value = Format(Now, "dd/mm/yyyy hh:mm")

End If

End Sub



Ce macro a pour objectif de renseigner les dates et heures dans les colonnes F, J,N,R, V, Z et AD. Pour se faire, il faut indiquer 0, 1 ou 2 dans les colonnes E, I, M, Q, U, Y, AC.

Malheureusement quand ma nièce me retourne le planning( elle est sous mac et moi windows), les dates et heures ne correspondent pas exactement.

Comme je ne suis pas au top niveau en VBA, je vous remercie de m'aider.

Bonne soirée
 

Pièces jointes

  • Emploi du temps test.xlsm
    244.5 KB · Affichages: 35

Robert

XLDnaute Barbatruc
Repose en paix
Re : Aide pour améliorer un macro date et heure

Bonsoir Rahamata, bonsoir le forum,

Peut-ête comme ça :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
    Case 5, 9, 13, 17, 21, 25, 29
        If Target.Value <> "" Then
            Target.Offset(0, 1) = Now
            Target.Offset(0, 1).NumberFormat = "dd/mm/yyyy hh:mm"
        End If
End Select
End Sub
 

Modeste geedee

XLDnaute Barbatruc
Re : Aide pour améliorer un macro date et heure

Bonsour®
Malheureusement quand ma nièce me retourne le planning( elle est sous mac et moi windows), les dates et heures ne correspondent pas exactement.

Microsoft Excel pour Macintosh et Excel pour Windows prennent en charge les calendriers depuis 1900 et depuis 1904. Le calendrier par défaut
  • de Microsoft Office Excel pour Windows est depuis 1900
  • et celui de Microsoft Office Excel pour Macintosh est depuis 1904.
La différence entre les deux calendriers est de 1 462 jours ; en d’autres termes, la valeur sérielle d’une date dans le calendrier depuis 1900 est toujours supérieure de 1 462 jours à la valeur sérielle de la même date dans le calendrier depuis 1904. Inversement, la valeur sérielle d’une date dans le calendrier depuis 1904 est toujours inférieure de 1 462 jours à la valeur sérielle de la même date dans le calendrier depuis 1900. 1 462 jours représentent quatre ans et un jour (qui inclut un jour intercalaire).


il faut donc explicitement préciser le calendrier utilisé :
Code:
ActiveWorkbook.Date1904 = True
' ou l'inverse :rolleyes:
 

rahamata

XLDnaute Nouveau
Re : Aide pour améliorer un macro date et heure

Bonsoir le forum

Merci à vous deux (Robert et Modeste geedee) pour vos retours ;).

Je vais prendre en compte la proposition de Robert et inclure la proposition de Modeste geedee. Cependant, par rapport à la formule proposer par par Robert :

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 5, 9, 13, 17, 21, 25, 29
If Target.Value <> "" Then
Target.Offset(0, 1) = Now
Target.Offset(0, 1).NumberFormat = "dd/mm/yyyy hh:mm"
End If
End Select
End Sub

Modeste geedee, à quel niveau je dois inclure cette déclaration ?

Merci par avance de ton retour

NOta : j'enverai le fichier à ma nièce demain afin qu'elle me fasse un retour pour m'assurer que tout fonction. Je reviendrai pour vous faire un point dimanche

RahM:eek:
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 326
Membres
102 862
dernier inscrit
Emma35400