Incrémenter des heures dans le format Date heure

ibrahima

XLDnaute Nouveau
Bonjour la communauté ,
je fais appel à vous pour ma deuxième fois !

Je vous mets ci-joint mon fichier pour être clair dans mon explication.
Je n'arrive pas à incrémenter les heures d'une colonne en partant du format date .
En effet j'ai un colonne date et une colonne heure j'applique une simple formule me permettant d'avoir une seule cellule contenant la date et l'heure ce qui fonctionne !
Ensuite le problème viens dans l'incrémentation en pas horaire .

Veuillez trouvez le fichier ci-joint pour une meilleur compréhension avec des commentaires que j'ai ajouté.

je vous remercie par avance !

ibrahima
 

Pièces jointes

  • incrémenter_date_heure.xlsm
    239.8 KB · Affichages: 16

Efgé

XLDnaute Barbatruc
Bonjour Ibrahima, Salut Patrick :)

Attendons le passage d'un autre intervenant.

Me voila...
Deux propositions
Si beaucoup de lignes et déjà beaucoup de formules dans le classeur, une version par tableau
VB:
Sub test()
Dim T As Variant
Dim i&
 
With Sheets("increment")
    T = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(3)(1, 3))
    For i = LBound(T, 1) To UBound(T, 1)
        T(i, 3) = T(i, 1) + T(i, 2)
    Next i
    .Cells(1, 1).Resize(UBound(T, 1), UBound(T, 2)).FormulaLocal = T
End With

End Sub

Sinon, une version par formule VBéïsée
Code:
Sub test_2()

With Sheets("increment")
    Derligne = .Range("A1").End(xlDown).Row
    With .Range("C1" & ":C" & Derligne)
        .FormulaLocal = "=A1+B1"
        .NumberFormat = "dd/mm/yyyy  hh:mm"
        .Value = .Value
    End With
End With

End Sub

Attention, Ibrahima, quand on utilise un code dans un module standard - comme le module 1 de ton exemple - il est toujours préférable de bien préciser sur quelle feuille on travail.
Si tu ne le fait pas, c'est la feuille active qui est prise en compte, cela peut amener des surprises...
Cordialement
 

ibrahima

XLDnaute Nouveau
c'est parfait ça règle complètement mon problème dommage que j'étais absent hier !

Par curiosité pour la solution numéro 2 qui n’était pas loin de ce que j'avais effectué (et que je comprends mieux du coup )
Qu'est ce qui a permis de transformer les heures au bon format sans faire apparaître des 59 en minutes
Je suppose que c'est la ligne : .value =.value
mais je ne comprends pas cette ligne .

en tout cas merci pour ton aide précieux @Efgé merci @Victor21

à bientôt sur le forum !
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Bonjour le forum, bonjour Ibrahima, Salut Patrick
Qu'est ce qui a permis de transformer les heures au bon format sans faire apparaître des 59 en minutes

En fait je n'ai rien fait :D
C'est le problème de l'autofill sur des heures. Cela génère des incrémentations qui varient d'un rien, mais qui finissent pas créer un vrai décalage.
En ne faisant qu'additionner des jours + des heures, il n'y a pas cette infime variation.

Je suppose que c'est la ligne : .value =.value
Non, en fait cela écrase les formules en les remplaçant par leurs valeurs.

Cordialement
 

ibrahima

XLDnaute Nouveau
Merci je comprends mieux maintenant c'est clair comme explication.
J'en ressors avec un peu plus de connaissances surtout que dans la suite de mon projet, j'ai souvent utilisé des autofill sur les dates et heures je vais donc commencer à corriger ça !

Cordialement,

ibrahima
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 850
dernier inscrit
Danigra