Incrémenter "heure + date" en une seule

mathilde -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour à tous,

je cherche le moyen d'afficher dans excel 2003 la colonne suivante:

heure-jour-mois-année

01:00 01/01/2007
02:00 01/01/2007
03:00 01/01/2007
.......
24:00 01/01/2007
01:00 02/01/2007
.......
24:00 31/01/2007
01:00 01/02/2007
....jusqu'à
24:00 31/12/2007

je pense qu'en utilisant l'incrément, ça doit être possible cependant je ne sais pas comment faire.
remarque: l'affiche des "00" minutes n'est pas primordial

merci d'avance et bonne journée

8 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,

Sub AffiLesDemiHeures()
Dim i As Long
Dim DtDeb As Double
Dim DtFin As Double

    DtDeb = CDate("01/01/2008 0:30:00")
    DtFin = CDate("01/02/2008 0:30:00")
    i = 1
    While DtDeb < DtFin
        Cells(i, 1) = CVDate(DtDeb)
        DtDeb = DtDeb + TimeSerial(1, 0, 0)
        i = i + 1
        DoEvents
    Wend
    Columns("A:A").Select
    Selection.NumberFormat = "hh:mm dd/mm/yyyy"
    Range("A1").Select

End Sub

A+
0
blux Messages postés 27997 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

l'auto incrément normal marche bien si ta date et heure est en format standard excel, c'est-à-dire, comme le fait remarquer lermitte22, sous forme jj/mm/aa hh:mm:ss.

Fais attention au fait qu'excel va te formatter la cellule en date standard dès qu'il reconnaitra une date/heure...
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Salut,

Tu saisis ces deux lignes

01:00 01/01/2007
02:00 01/01/2007 tu les les mets en surbrillance et tu les incrémentes vers le bas

et ainsi de suite pour les autres lignes

Dans le cas ou la suite est logique saisis une valeur, incrémente vers le bas clic sur le petit pictigramme et sélectionnes incrémebter une série

A+
0
elodie-espagne Messages postés 5 Statut Membre
 
c'est bon , ça marche merci à tous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
elodie-espagne Messages postés 5 Statut Membre
 
en fait, j'ai encore un problème

l'incrémentation fonctionne bien, cependant, cela m'affiche:

01/12/2007 1:00
01/12/2007 2:00
01/12/2007 3:00
01/12/2007 4:00
01/12/2007 5:00
01/12/2007 6:00
01/12/2007 7:00
01/12/2007 8:00
01/12/2007 9:00
01/12/2007 10:00
01/12/2007 11:00
01/12/2007 12:00
01/12/2007 13:00
01/12/2007 14:00
01/12/2007 15:00
01/12/2007 16:00
01/12/2007 17:00
01/12/2007 18:00
01/12/2007 19:00
01/12/2007 20:00
01/12/2007 21:00
01/12/2007 22:00
01/12/2007 23:00
02/12/2007 0:00

alors que je voudrais afficher

01/12/2007 1:00
01/12/2007 2:00
01/12/2007 3:00
01/12/2007 4:00
01/12/2007 5:00
01/12/2007 6:00
01/12/2007 7:00
01/12/2007 8:00
01/12/2007 9:00
01/12/2007 10:00
01/12/2007 11:00
01/12/2007 12:00
01/12/2007 13:00
01/12/2007 14:00
01/12/2007 15:00
01/12/2007 16:00
01/12/2007 17:00
01/12/2007 18:00
01/12/2007 19:00
01/12/2007 20:00
01/12/2007 21:00
01/12/2007 22:00
01/12/2007 23:00
01/12/2007 24:00
02/12/2007 01:00

en gros, commencer la journée avec l'heure=01:00 et finir avec la journée avec l'heure=24:00
ou au moins : que l'heure correspondant à minuit 24h ou 00h correspondent à la fin de la journée et non au début

bisous merci et salut
0
blux Messages postés 27997 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
24:00 n'existe dans aucun calendrier horaire !
0
elodie-espagne Messages postés 5 Statut Membre
 
eh bien figure toi qu'en espagne, dans le marché de l'électricité, ça existe et j'y peux rien.

si qq'un a une idée? cette personne est la bienvenue
je parle biensûr d'une idée constructive

merci bye biz
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Si tu veux absolument comme ça, c'est impossible au format date, il faut passer en format texte mais alors impossible de faire des calculs dessus, si seulement pour affichage..
Sub AffiLesHeures()
Dim i As Long, A As String
Dim DtDeb As Double
Dim DtFin As Double

    DtDeb = CDate("01/01/2008 1:0:00") 'Sélectionner début
    DtFin = CDate("30/03/2008 23:59:59")'Sélectionner fin
    Columns("A:A").Select
    Selection.NumberFormat = "hh:mm dd/mm/yyyy"
    Columns("A:A").HorizontalAlignment = xlRight
    Range("A1").Select

    i = 1
    While DtDeb < DtFin
        Cells(i, 1) = CVDate(DtDeb)
        If Hour(DtDeb) = 0 Then
            A = "'24:00 " & Format(Cells(i, 1), "dd/mm/yyyy")
            Cells(i, 1) = CStr(A)
        End If
        DtDeb = DtDeb + TimeSerial(1, 0, 0)
        i = i + 1
        DoEvents
    Wend
End Sub

A+
0