OVH Cloud OVH Cloud

Macro pour générer colonne Date et Heure

28 réponses
Avatar
Christophe Joly
Bonsoir:



Je cherche de l'aide pour creer une macro qui permettrait grace à une input
box demandant 5 variables

1- date Début

2- date Fin

3- Heure Début

4- Heure Fin

3- Incrément Heure



de générer une colonne Date/Heure



Par exemple en rentant:

1- 6/17/03

2- 6/19/03

3- 9:00 AM

4- 6:00PM

5- 30 mn



Je veux génerer

6/17/03 9:00 AM

6/17/03 9:30 AM

6/17/03 10:00 AM

6/17/03 10:30 AM

6/17/03 11:00 AM

6/17/03 11:30 AM

6/17/03 12:00 PM

6/17/03 12:30 PM

6/17/03 1:00 PM

6/17/03 1:30 PM

6/17/03 2:00 PM

6/17/03 2:30 PM

6/17/03 3:00 PM

6/17/03 3:30 PM

6/17/03 4:00 PM

6/17/03 4:30 PM

6/17/03 5:00 PM

6/17/03 5:30 PM

6/17/03 6:00 PM

6/18/03 9:00 AM

6/18/03 9:30 AM

6/18/03 10:00 AM

6/18/03 10:30 AM

6/18/03 11:00 AM

6/18/03 11:30 AM

6/18/03 12:00 PM

6/18/03 12:30 PM

6/18/03 1:00 PM

6/18/03 1:30 PM

6/18/03 2:00 PM

6/18/03 2:30 PM

6/18/03 3:00 PM

6/18/03 3:30 PM

6/18/03 4:00 PM

6/18/03 4:30 PM

6/18/03 5:00 PM

6/18/03 5:30 PM

6/18/03 6:00 PM

6/19/03 9:00 AM

6/19/03 9:30 AM

6/19/03 10:00 AM

6/19/03 10:30 AM

6/19/03 11:00 AM

6/19/03 11:30 AM

6/19/03 12:00 PM

6/19/03 12:30 PM

6/19/03 1:00 PM

6/19/03 1:30 PM

6/19/03 2:00 PM

6/19/03 2:30 PM

6/19/03 3:00 PM

6/19/03 3:30 PM

6/19/03 4:00 PM

6/19/03 4:30 PM

6/19/03 5:00 PM

6/19/03 5:30 PM

6/19/03 6:00 PM



Merci d'avance.



Christophe

10 réponses

1 2 3
Avatar
isabelle
tel quel tu n'a qu'a l'exécuter sur un classeur nouveau.

isabelle


Isabelle:

J'ai fait une erruer de frappe 5 a la place de (
mais dans la macro j'ai la meme chose que toi.

Comment puis-je la tester sans les input box?

Merci

Christophe
"isabelle" a écrit dans le message de
news:
bonjour ,

je crois qu'il c'est glissée une erreur à la recopie, la ligne doit être
:
w = CDate(Right(y, 8))

je n'ai pas encore mit les inputbox c'était pour tester si les valeurs
sont correct avant d'aller de l'avant
a+

isabelle


Isabelle:

Je te prie de m'excuser, j'aurais du etre plus precis.
Lorsque je lance ta macro à partir d'une feuille vide, j'obtiens un
message


"errure d'execution" "Incompatibilite de Type" correspondant é la ligne
w > > > CDate 5Right(y, 8)). Mais peut etre je ne sais pas ce que je fais car


j'ai
vu que tu avais défini des variables mais je n'ai pas vu les input box.

Merci.

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

quel est le bug rencontré ?

isabelle


Bonjour Isabelle:

J'ai essayé ta macro et est rencontré un bug. Je dois dire que je
suis




depuis longtemps dépassé par les événements. La macro d'Alain me
semble,(no


offense), assez proche du résultat que je recherche, même si pour
l'instant


il y a un encore un petit pb.

Merci.

Christophe

"isabelle" a écrit dans le message de
news:
bonjour Christophe,

voici un début de piste,

Sub Macro1()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

isabelle


Bonsoir:

Je cherche de l'aide pour creer une macro qui permettrait grace
à






une
input
box demandant 5 variables

1- date Début

2- date Fin

3- Heure Début

4- Heure Fin

3- Incrément Heure

de générer une colonne Date/Heure

Par exemple en rentant:

1- 6/17/03

2- 6/19/03

3- 9:00 AM

4- 6:00PM

5- 30 mn

Je veux génerer

6/17/03 9:00 AM

6/17/03 9:30 AM

6/17/03 10:00 AM

6/17/03 10:30 AM

6/17/03 11:00 AM

6/17/03 11:30 AM

6/17/03 12:00 PM

6/17/03 12:30 PM

6/17/03 1:00 PM

6/17/03 1:30 PM

6/17/03 2:00 PM

6/17/03 2:30 PM

6/17/03 3:00 PM

6/17/03 3:30 PM

6/17/03 4:00 PM

6/17/03 4:30 PM

6/17/03 5:00 PM

6/17/03 5:30 PM

6/17/03 6:00 PM

6/18/03 9:00 AM

6/18/03 9:30 AM

6/18/03 10:00 AM

6/18/03 10:30 AM

6/18/03 11:00 AM

6/18/03 11:30 AM

6/18/03 12:00 PM

6/18/03 12:30 PM

6/18/03 1:00 PM

6/18/03 1:30 PM

6/18/03 2:00 PM

6/18/03 2:30 PM

6/18/03 3:00 PM

6/18/03 3:30 PM

6/18/03 4:00 PM

6/18/03 4:30 PM

6/18/03 5:00 PM

6/18/03 5:30 PM

6/18/03 6:00 PM

6/19/03 9:00 AM

6/19/03 9:30 AM

6/19/03 10:00 AM

6/19/03 10:30 AM

6/19/03 11:00 AM

6/19/03 11:30 AM

6/19/03 12:00 PM

6/19/03 12:30 PM

6/19/03 1:00 PM

6/19/03 1:30 PM

6/19/03 2:00 PM

6/19/03 2:30 PM

6/19/03 3:00 PM

6/19/03 3:30 PM

6/19/03 4:00 PM

6/19/03 4:30 PM

6/19/03 5:00 PM

6/19/03 5:30 PM

6/19/03 6:00 PM

Merci d'avance.

Christophe














Avatar
Christophe Joly
Isabelle:

Désolé. le message d'erreur est toujours la.
A1 est se remplie avec 6/17/2003 9:00. C'est un bon début :-)



Je recopie ci-dessous ta macro telle qu'elle se presente.
Sub DateTime()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

Merci

Christophe

"isabelle" a écrit dans le message de
news:


tel quel tu n'a qu'a l'exécuter sur un classeur nouveau.

isabelle


Isabelle:

J'ai fait une erruer de frappe 5 a la place de (
mais dans la macro j'ai la meme chose que toi.

Comment puis-je la tester sans les input box?

Merci

Christophe
"isabelle" a écrit dans le message de
news:
bonjour ,

je crois qu'il c'est glissée une erreur à la recopie, la ligne doit
être



:
w = CDate(Right(y, 8))

je n'ai pas encore mit les inputbox c'était pour tester si les valeurs
sont correct avant d'aller de l'avant
a+

isabelle


Isabelle:

Je te prie de m'excuser, j'aurais du etre plus precis.
Lorsque je lance ta macro à partir d'une feuille vide, j'obtiens un
message


"errure d'execution" "Incompatibilite de Type" correspondant é la
ligne




w > > > > CDate 5Right(y, 8)). Mais peut etre je ne sais pas ce que je fais
car


j'ai
vu que tu avais défini des variables mais je n'ai pas vu les input
box.





Merci.

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

quel est le bug rencontré ?

isabelle


Bonjour Isabelle:

J'ai essayé ta macro et est rencontré un bug. Je dois dire que
je






suis
depuis longtemps dépassé par les événements. La macro d'Alain me
semble,(no


offense), assez proche du résultat que je recherche, même si
pour






l'instant
il y a un encore un petit pb.

Merci.

Christophe

"isabelle" a écrit dans le message
de






news:
bonjour Christophe,

voici un début de piste,

Sub Macro1()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

isabelle


Bonsoir:

Je cherche de l'aide pour creer une macro qui permettrait
grace








à
une
input
box demandant 5 variables

1- date Début

2- date Fin

3- Heure Début

4- Heure Fin

3- Incrément Heure

de générer une colonne Date/Heure

Par exemple en rentant:

1- 6/17/03

2- 6/19/03

3- 9:00 AM

4- 6:00PM

5- 30 mn

Je veux génerer

6/17/03 9:00 AM

6/17/03 9:30 AM

6/17/03 10:00 AM

6/17/03 10:30 AM

6/17/03 11:00 AM

6/17/03 11:30 AM

6/17/03 12:00 PM

6/17/03 12:30 PM

6/17/03 1:00 PM

6/17/03 1:30 PM

6/17/03 2:00 PM

6/17/03 2:30 PM

6/17/03 3:00 PM

6/17/03 3:30 PM

6/17/03 4:00 PM

6/17/03 4:30 PM

6/17/03 5:00 PM

6/17/03 5:30 PM

6/17/03 6:00 PM

6/18/03 9:00 AM

6/18/03 9:30 AM

6/18/03 10:00 AM

6/18/03 10:30 AM

6/18/03 11:00 AM

6/18/03 11:30 AM

6/18/03 12:00 PM

6/18/03 12:30 PM

6/18/03 1:00 PM

6/18/03 1:30 PM

6/18/03 2:00 PM

6/18/03 2:30 PM

6/18/03 3:00 PM

6/18/03 3:30 PM

6/18/03 4:00 PM

6/18/03 4:30 PM

6/18/03 5:00 PM

6/18/03 5:30 PM

6/18/03 6:00 PM

6/19/03 9:00 AM

6/19/03 9:30 AM

6/19/03 10:00 AM

6/19/03 10:30 AM

6/19/03 11:00 AM

6/19/03 11:30 AM

6/19/03 12:00 PM

6/19/03 12:30 PM

6/19/03 1:00 PM

6/19/03 1:30 PM

6/19/03 2:00 PM

6/19/03 2:30 PM

6/19/03 3:00 PM

6/19/03 3:30 PM

6/19/03 4:00 PM

6/19/03 4:30 PM

6/19/03 5:00 PM

6/19/03 5:30 PM

6/19/03 6:00 PM

Merci d'avance.

Christophe
















Avatar
isabelle
bonjour Christophe,

je crois avoir trouvé le problème ça vient surement du format de la
colonne A,
je l'ai testé sur un format 2003-06-17 09:00:00
w = CDate(Right(y, 8))
cette ligne est pour récupérer l'heure 09:00:00 ( donc 9 caractère pour
ce format et 6 caractère pour ton format

isabelle


Isabelle:

Désolé. le message d'erreur est toujours la.
A1 est se remplie avec 6/17/2003 9:00. C'est un bon début :-)

Je recopie ci-dessous ta macro telle qu'elle se presente.
Sub DateTime()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

Merci

Christophe

"isabelle" a écrit dans le message de
news:

tel quel tu n'a qu'a l'exécuter sur un classeur nouveau.

isabelle


Isabelle:

J'ai fait une erruer de frappe 5 a la place de (
mais dans la macro j'ai la meme chose que toi.

Comment puis-je la tester sans les input box?

Merci

Christophe
"isabelle" a écrit dans le message de
news:
bonjour ,

je crois qu'il c'est glissée une erreur à la recopie, la ligne doit
être



:
w = CDate(Right(y, 8))

je n'ai pas encore mit les inputbox c'était pour tester si les valeurs
sont correct avant d'aller de l'avant
a+

isabelle


Isabelle:

Je te prie de m'excuser, j'aurais du etre plus precis.
Lorsque je lance ta macro à partir d'une feuille vide, j'obtiens un
message


"errure d'execution" "Incompatibilite de Type" correspondant é la
ligne




w > > > > > CDate 5Right(y, 8)). Mais peut etre je ne sais pas ce que je fais
car


j'ai
vu que tu avais défini des variables mais je n'ai pas vu les input
box.





Merci.

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

quel est le bug rencontré ?

isabelle


Bonjour Isabelle:

J'ai essayé ta macro et est rencontré un bug. Je dois dire que
je






suis
depuis longtemps dépassé par les événements. La macro d'Alain me
semble,(no


offense), assez proche du résultat que je recherche, même si
pour






l'instant
il y a un encore un petit pb.

Merci.

Christophe

"isabelle" a écrit dans le message
de






news:
bonjour Christophe,

voici un début de piste,

Sub Macro1()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

isabelle


Bonsoir:

Je cherche de l'aide pour creer une macro qui permettrait
grace








à
une
input
box demandant 5 variables

1- date Début

2- date Fin

3- Heure Début

4- Heure Fin

3- Incrément Heure

de générer une colonne Date/Heure

Par exemple en rentant:

1- 6/17/03

2- 6/19/03

3- 9:00 AM

4- 6:00PM

5- 30 mn

Je veux génerer

6/17/03 9:00 AM

6/17/03 9:30 AM

6/17/03 10:00 AM

6/17/03 10:30 AM

6/17/03 11:00 AM

6/17/03 11:30 AM

6/17/03 12:00 PM

6/17/03 12:30 PM

6/17/03 1:00 PM

6/17/03 1:30 PM

6/17/03 2:00 PM

6/17/03 2:30 PM

6/17/03 3:00 PM

6/17/03 3:30 PM

6/17/03 4:00 PM

6/17/03 4:30 PM

6/17/03 5:00 PM

6/17/03 5:30 PM

6/17/03 6:00 PM

6/18/03 9:00 AM

6/18/03 9:30 AM

6/18/03 10:00 AM

6/18/03 10:30 AM

6/18/03 11:00 AM

6/18/03 11:30 AM

6/18/03 12:00 PM

6/18/03 12:30 PM

6/18/03 1:00 PM

6/18/03 1:30 PM

6/18/03 2:00 PM

6/18/03 2:30 PM

6/18/03 3:00 PM

6/18/03 3:30 PM

6/18/03 4:00 PM

6/18/03 4:30 PM

6/18/03 5:00 PM

6/18/03 5:30 PM

6/18/03 6:00 PM

6/19/03 9:00 AM

6/19/03 9:30 AM

6/19/03 10:00 AM

6/19/03 10:30 AM

6/19/03 11:00 AM

6/19/03 11:30 AM

6/19/03 12:00 PM

6/19/03 12:30 PM

6/19/03 1:00 PM

6/19/03 1:30 PM

6/19/03 2:00 PM

6/19/03 2:30 PM

6/19/03 3:00 PM

6/19/03 3:30 PM

6/19/03 4:00 PM

6/19/03 4:30 PM

6/19/03 5:00 PM

6/19/03 5:30 PM

6/19/03 6:00 PM

Merci d'avance.

Christophe


















Avatar
Christophe Joly
Isabelle:

J'ai essayé un grand nombre de formats et apparement aucun ne fonctionne.
Lorsque je démarre sur une feuille vide toutes mes colonnes sont a priori
dans un format standard. Lorsque je lance ta macro A1 se remplit avec
6/17/2003 9:00 mais en fait c'est bien 6/17/2003 9:00:00 AM
Puis j'obtiens le (maintenant fameux) message d'erreur.
Je ne suis pas sur de comprendre le probleme de format de la colonne A.

Christophe


"isabelle" a écrit dans le message de
news:
bonjour Christophe,

je crois avoir trouvé le problème ça vient surement du format de la
colonne A,
je l'ai testé sur un format 2003-06-17 09:00:00
w = CDate(Right(y, 8))
cette ligne est pour récupérer l'heure 09:00:00 ( donc 9 caractère pour
ce format et 6 caractère pour ton format

isabelle


Isabelle:

Désolé. le message d'erreur est toujours la.
A1 est se remplie avec 6/17/2003 9:00. C'est un bon début :-)

Je recopie ci-dessous ta macro telle qu'elle se presente.
Sub DateTime()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

Merci

Christophe

"isabelle" a écrit dans le message de
news:

tel quel tu n'a qu'a l'exécuter sur un classeur nouveau.

isabelle


Isabelle:

J'ai fait une erruer de frappe 5 a la place de (
mais dans la macro j'ai la meme chose que toi.

Comment puis-je la tester sans les input box?

Merci

Christophe
"isabelle" a écrit dans le message de
news:
bonjour ,

je crois qu'il c'est glissée une erreur à la recopie, la ligne
doit





être
:
w = CDate(Right(y, 8))

je n'ai pas encore mit les inputbox c'était pour tester si les
valeurs





sont correct avant d'aller de l'avant
a+

isabelle


Isabelle:

Je te prie de m'excuser, j'aurais du etre plus precis.
Lorsque je lance ta macro à partir d'une feuille vide, j'obtiens
un






message
"errure d'execution" "Incompatibilite de Type" correspondant é
la






ligne
w > > > > > > CDate 5Right(y, 8)). Mais peut etre je ne sais pas ce que je
fais




car
j'ai
vu que tu avais défini des variables mais je n'ai pas vu les
input






box.

Merci.

Christophe
"isabelle" a écrit dans le message
de






news:
bonjour Christophe,

quel est le bug rencontré ?

isabelle


Bonjour Isabelle:

J'ai essayé ta macro et est rencontré un bug. Je dois dire
que








je
suis
depuis longtemps dépassé par les événements. La macro
d'Alain me








semble,(no
offense), assez proche du résultat que je recherche, même si
pour






l'instant
il y a un encore un petit pb.

Merci.

Christophe

"isabelle" a écrit dans le
message








de
news:
bonjour Christophe,

voici un début de piste,

Sub Macro1()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

isabelle


Bonsoir:

Je cherche de l'aide pour creer une macro qui
permettrait










grace
à
une
input
box demandant 5 variables

1- date Début

2- date Fin

3- Heure Début

4- Heure Fin

3- Incrément Heure

de générer une colonne Date/Heure

Par exemple en rentant:

1- 6/17/03

2- 6/19/03

3- 9:00 AM

4- 6:00PM

5- 30 mn

Je veux génerer

6/17/03 9:00 AM

6/17/03 9:30 AM

6/17/03 10:00 AM

6/17/03 10:30 AM

6/17/03 11:00 AM

6/17/03 11:30 AM

6/17/03 12:00 PM

6/17/03 12:30 PM

6/17/03 1:00 PM

6/17/03 1:30 PM

6/17/03 2:00 PM

6/17/03 2:30 PM

6/17/03 3:00 PM

6/17/03 3:30 PM

6/17/03 4:00 PM

6/17/03 4:30 PM

6/17/03 5:00 PM

6/17/03 5:30 PM

6/17/03 6:00 PM

6/18/03 9:00 AM

6/18/03 9:30 AM

6/18/03 10:00 AM

6/18/03 10:30 AM

6/18/03 11:00 AM

6/18/03 11:30 AM

6/18/03 12:00 PM

6/18/03 12:30 PM

6/18/03 1:00 PM

6/18/03 1:30 PM

6/18/03 2:00 PM

6/18/03 2:30 PM

6/18/03 3:00 PM

6/18/03 3:30 PM

6/18/03 4:00 PM

6/18/03 4:30 PM

6/18/03 5:00 PM

6/18/03 5:30 PM

6/18/03 6:00 PM

6/19/03 9:00 AM

6/19/03 9:30 AM

6/19/03 10:00 AM

6/19/03 10:30 AM

6/19/03 11:00 AM

6/19/03 11:30 AM

6/19/03 12:00 PM

6/19/03 12:30 PM

6/19/03 1:00 PM

6/19/03 1:30 PM

6/19/03 2:00 PM

6/19/03 2:30 PM

6/19/03 3:00 PM

6/19/03 3:30 PM

6/19/03 4:00 PM

6/19/03 4:30 PM

6/19/03 5:00 PM

6/19/03 5:30 PM

6/19/03 6:00 PM

Merci d'avance.

Christophe




















Avatar
isabelle
bonjour Christophe,

si tu le veux, je t'envoie un fichier test avec le format que j'ai
utilisé.
a+
isabelle


Isabelle:

J'ai essayé un grand nombre de formats et apparement aucun ne fonctionne.
Lorsque je démarre sur une feuille vide toutes mes colonnes sont a priori
dans un format standard. Lorsque je lance ta macro A1 se remplit avec
6/17/2003 9:00 mais en fait c'est bien 6/17/2003 9:00:00 AM
Puis j'obtiens le (maintenant fameux) message d'erreur.
Je ne suis pas sur de comprendre le probleme de format de la colonne A.

Christophe

"isabelle" a écrit dans le message de
news:
bonjour Christophe,

je crois avoir trouvé le problème ça vient surement du format de la
colonne A,
je l'ai testé sur un format 2003-06-17 09:00:00
w = CDate(Right(y, 8))
cette ligne est pour récupérer l'heure 09:00:00 ( donc 9 caractère pour
ce format et 6 caractère pour ton format

isabelle


Isabelle:

Désolé. le message d'erreur est toujours la.
A1 est se remplie avec 6/17/2003 9:00. C'est un bon début :-)

Je recopie ci-dessous ta macro telle qu'elle se presente.
Sub DateTime()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

Merci

Christophe

"isabelle" a écrit dans le message de
news:

tel quel tu n'a qu'a l'exécuter sur un classeur nouveau.

isabelle


Isabelle:

J'ai fait une erruer de frappe 5 a la place de (
mais dans la macro j'ai la meme chose que toi.

Comment puis-je la tester sans les input box?

Merci

Christophe
"isabelle" a écrit dans le message de
news:
bonjour ,

je crois qu'il c'est glissée une erreur à la recopie, la ligne
doit





être
:
w = CDate(Right(y, 8))

je n'ai pas encore mit les inputbox c'était pour tester si les
valeurs





sont correct avant d'aller de l'avant
a+

isabelle


Isabelle:

Je te prie de m'excuser, j'aurais du etre plus precis.
Lorsque je lance ta macro à partir d'une feuille vide, j'obtiens
un






message
"errure d'execution" "Incompatibilite de Type" correspondant é
la






ligne
w > > > > > > > CDate 5Right(y, 8)). Mais peut etre je ne sais pas ce que je
fais




car
j'ai
vu que tu avais défini des variables mais je n'ai pas vu les
input






box.

Merci.

Christophe
"isabelle" a écrit dans le message
de






news:
bonjour Christophe,

quel est le bug rencontré ?

isabelle


Bonjour Isabelle:

J'ai essayé ta macro et est rencontré un bug. Je dois dire
que








je
suis
depuis longtemps dépassé par les événements. La macro
d'Alain me








semble,(no
offense), assez proche du résultat que je recherche, même si
pour






l'instant
il y a un encore un petit pb.

Merci.

Christophe

"isabelle" a écrit dans le
message








de
news:
bonjour Christophe,

voici un début de piste,

Sub Macro1()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

isabelle


Bonsoir:

Je cherche de l'aide pour creer une macro qui
permettrait










grace
à
une
input
box demandant 5 variables

1- date Début

2- date Fin

3- Heure Début

4- Heure Fin

3- Incrément Heure

de générer une colonne Date/Heure

Par exemple en rentant:

1- 6/17/03

2- 6/19/03

3- 9:00 AM

4- 6:00PM

5- 30 mn

Je veux génerer

6/17/03 9:00 AM

6/17/03 9:30 AM

6/17/03 10:00 AM

6/17/03 10:30 AM

6/17/03 11:00 AM

6/17/03 11:30 AM

6/17/03 12:00 PM

6/17/03 12:30 PM

6/17/03 1:00 PM

6/17/03 1:30 PM

6/17/03 2:00 PM

6/17/03 2:30 PM

6/17/03 3:00 PM

6/17/03 3:30 PM

6/17/03 4:00 PM

6/17/03 4:30 PM

6/17/03 5:00 PM

6/17/03 5:30 PM

6/17/03 6:00 PM

6/18/03 9:00 AM

6/18/03 9:30 AM

6/18/03 10:00 AM

6/18/03 10:30 AM

6/18/03 11:00 AM

6/18/03 11:30 AM

6/18/03 12:00 PM

6/18/03 12:30 PM

6/18/03 1:00 PM

6/18/03 1:30 PM

6/18/03 2:00 PM

6/18/03 2:30 PM

6/18/03 3:00 PM

6/18/03 3:30 PM

6/18/03 4:00 PM

6/18/03 4:30 PM

6/18/03 5:00 PM

6/18/03 5:30 PM

6/18/03 6:00 PM

6/19/03 9:00 AM

6/19/03 9:30 AM

6/19/03 10:00 AM

6/19/03 10:30 AM

6/19/03 11:00 AM

6/19/03 11:30 AM

6/19/03 12:00 PM

6/19/03 12:30 PM

6/19/03 1:00 PM

6/19/03 1:30 PM

6/19/03 2:00 PM

6/19/03 2:30 PM

6/19/03 3:00 PM

6/19/03 3:30 PM

6/19/03 4:00 PM

6/19/03 4:30 PM

6/19/03 5:00 PM

6/19/03 5:30 PM

6/19/03 6:00 PM

Merci d'avance.

Christophe






















Avatar
AV
Bonsoir et merci pour ta proposition.


Pffff...... ma proposition elle vaut pas un clou !
Pas lu l'exemple qui suivait la question qui montre qu'il ne faut pas
incrémenter régulièrement du début à la fin mais qu'il faut un "saut
d'heure/date" de 02:00 PM à 06:00 AM le lendemain !

Tu dis :
En revanche, pour le 12/23/03 le dernier horaire est 11:30 PM alors
que cela devrait être 2:30 PM
Là je suppose que tu as fait une erreur car, si pour le 12/23/03 ça s'arrête à

2:30 PM et non 2:00 PM je comprends plus rien...!

En supposant .......
Une bricole faite à reculons car les dates au format US et les heures au format
AM/PM avec des paramètres et XL français ......
......beuuuurrkkkkkk ;-)

A tester :
Sub zz_ListDatHeur2()
Jr1 = CDate(InputBox("Date déb", ""))
Jr2 = CDate(InputBox("Date fin", ""))
Hh1 = CDate(InputBox("Heure déb", ""))
Hh2 = CDate(InputBox("Heure fin", ""))
Pas = CDate(InputBox("Intervalle horaire", ""))
x = 1
For i = Jr1 + Hh1 To Jr2 + Hh2 + Pas Step Pas
If Hour(i) > Hour(Hh2) Then
x = x - 1
i = DateSerial(Year(i), Month(i), Day(i)) + 1 + Hh1 - Pas
Else: Cells(x, 1) = i
x = x + 1
End If
Next
End Sub

PS : Le controle des saisies dans les inputbox n'est toujours pas fait !

AV

Avatar
AV
Bon...ben .... la proposition précédente, elle vaut un 1/2 clou ...
Qques cas de figure lui passent à travers....

Essaye plutôt ça (aprés les InputBox) :

x = 1
For i = Jour1 + Heur1 To Jour2 + Heur2 Step Pas
If TimeSerial(Hour(i), Minute(i), Second(i)) > Heur2 Then
i = (DateSerial(Year(i), Month(i), Day(i) + 1) * 1) + Heur1
End If
Cells(x, "A") = i
x = x + 1
Next
If [max(A:A)] < Jour2 + Heur2 Then Cells(x, "A") = Jour2 + Heur2
End Sub

Pour la gestion des erreurs demande en bal si tu veux..

AV
Avatar
Christophe Joly
Bonsoir Alain:

La proposition "1/2 clou" est pas si mal que ca.

Sub DATEandTIME()
'Auteur: Alain Vallon (AV)
Jr1 = CDate(InputBox("Starting Date e.g. 06/14/03", ""))
Jr2 = CDate(InputBox("Ending Date e.g.06/16/03", ""))
Hh1 = CDate(InputBox("Starting Time e.g. 9:00 AM", ""))
Hh2 = CDate(InputBox("Ending Time e.g. 6:00 PM", ""))
Pas = CDate(InputBox("Increment e.g. 00:30", ""))
x = 1
For i = Jr1 + Hh1 To Jr2 + Hh2 + Pas Step Pas
If Hour(i) > Hour(Hh2) Then
x = x - 1
i = DateSerial(Year(i), Month(i), Day(i)) + 1 + Hh1 - Pas
Else: Cells(x, 1) = i
x = x + 1
End If
Next
End Sub

puisque en rentrant les variables données en exemple dans les input box
j'obtiens

6/14/03 9:00 AM
6/14/03 9:30 AM
6/14/03 10:00 AM
6/14/03 10:30 AM
6/14/03 11:00 AM
6/14/03 11:30 AM
6/14/03 12:00 PM
6/14/03 12:30 PM
6/14/03 1:00 PM
6/14/03 1:30 PM
6/14/03 2:00 PM
6/14/03 2:30 PM
6/14/03 3:00 PM
6/14/03 3:30 PM
6/14/03 4:00 PM
6/14/03 4:30 PM
6/14/03 5:00 PM
6/14/03 5:30 PM
6/14/03 6:00 PM
6/15/03 9:00 AM
6/15/03 9:30 AM
6/15/03 10:00 AM
6/15/03 10:30 AM
6/15/03 11:00 AM
6/15/03 11:30 AM
6/15/03 12:00 PM
6/15/03 12:30 PM
6/15/03 1:00 PM
6/15/03 1:30 PM
6/15/03 2:00 PM
6/15/03 2:30 PM
6/15/03 3:00 PM
6/15/03 3:30 PM
6/15/03 4:00 PM
6/15/03 4:30 PM
6/15/03 5:00 PM
6/15/03 5:30 PM
6/15/03 6:00 PM
6/16/03 9:00 AM
6/16/03 9:30 AM
6/16/03 10:00 AM
6/16/03 10:30 AM
6/16/03 11:00 AM
6/16/03 11:30 AM
6/16/03 12:00 PM
6/16/03 12:30 PM
6/16/03 1:00 PM
6/16/03 1:30 PM
6/16/03 2:00 PM
6/16/03 2:30 PM
6/16/03 3:00 PM
6/16/03 3:30 PM
6/16/03 4:00 PM
6/16/03 4:30 PM
6/16/03 5:00 PM
6/16/03 5:30 PM
6/16/03 6:00 PM


ce qui me satisfait totalement à moins que tu y decele une faille. En
revanche, j'aimerai que ce résultat se colle dans la colonne B2.Bx d'une
feuille protégé (sans mot de passe) appelé "Country Appointments" mais en
gardant le format des cellules de destinations (date et ombrage de cellule).
Est ce que tu peux m'aider la dessus. Pour ce qui est de la gestion des
erreurs je me pencherais sur le problème plus tard et meme..... beaucoup
plus tard :-)

Tres sinceres remerciements.

Christophe

P.S. Pour Info, j'ai essayé la deuxième macro qui elle n'a pas fonctionné
puisque j'obtiens une seule cellule remplie du type 01/01/00 9:00
le demi clou s'et t'il transformé en quart de clou?



"AV" a écrit dans le message de
news:uHc$
Bon...ben .... la proposition précédente, elle vaut un 1/2 clou ...
Qques cas de figure lui passent à travers....

Essaye plutôt ça (aprés les InputBox) :

x = 1
For i = Jour1 + Heur1 To Jour2 + Heur2 Step Pas
If TimeSerial(Hour(i), Minute(i), Second(i)) > Heur2 Then
i = (DateSerial(Year(i), Month(i), Day(i) + 1) * 1) + Heur1
End If
Cells(x, "A") = i
x = x + 1
Next
If [max(A:A)] < Jour2 + Heur2 Then Cells(x, "A") = Jour2 + Heur2
End Sub

Pour la gestion des erreurs demande en bal si tu veux..

AV




Avatar
Christophe Joly
Bonjour Isabelle:

Merci pour ta proposition. Tu peux m'envoyer ton fichier à
Merci enlever le Remove devant l'adresse.
En meme temps je ne souhaite pas te mobiliser outre mesure sur mon petit
probleme puisqu' Alain Valon (AV) me semble, meme s'il en est pas convaincu
lui meme, avoir trouve une solution qui me convient.

Remerciements et sinceres saluations.

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

si tu le veux, je t'envoie un fichier test avec le format que j'ai
utilisé.
a+
isabelle


Isabelle:

J'ai essayé un grand nombre de formats et apparement aucun ne
fonctionne.


Lorsque je démarre sur une feuille vide toutes mes colonnes sont a
priori


dans un format standard. Lorsque je lance ta macro A1 se remplit avec
6/17/2003 9:00 mais en fait c'est bien 6/17/2003 9:00:00 AM
Puis j'obtiens le (maintenant fameux) message d'erreur.
Je ne suis pas sur de comprendre le probleme de format de la colonne A.

Christophe

"isabelle" a écrit dans le message de
news:
bonjour Christophe,

je crois avoir trouvé le problème ça vient surement du format de la
colonne A,
je l'ai testé sur un format 2003-06-17 09:00:00
w = CDate(Right(y, 8))
cette ligne est pour récupérer l'heure 09:00:00 ( donc 9 caractère
pour



ce format et 6 caractère pour ton format

isabelle


Isabelle:

Désolé. le message d'erreur est toujours la.
A1 est se remplie avec 6/17/2003 9:00. C'est un bon début :-)

Je recopie ci-dessous ta macro telle qu'elle se presente.
Sub DateTime()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

Merci

Christophe

"isabelle" a écrit dans le message de
news:

tel quel tu n'a qu'a l'exécuter sur un classeur nouveau.

isabelle


Isabelle:

J'ai fait une erruer de frappe 5 a la place de (
mais dans la macro j'ai la meme chose que toi.

Comment puis-je la tester sans les input box?

Merci

Christophe
"isabelle" a écrit dans le message
de






news:
bonjour ,

je crois qu'il c'est glissée une erreur à la recopie, la ligne
doit





être
:
w = CDate(Right(y, 8))

je n'ai pas encore mit les inputbox c'était pour tester si les
valeurs





sont correct avant d'aller de l'avant
a+

isabelle


Isabelle:

Je te prie de m'excuser, j'aurais du etre plus precis.
Lorsque je lance ta macro à partir d'une feuille vide,
j'obtiens








un
message
"errure d'execution" "Incompatibilite de Type" correspondant
é








la
ligne
w > > > > > > > > CDate 5Right(y, 8)). Mais peut etre je ne sais pas ce que
je






fais
car
j'ai
vu que tu avais défini des variables mais je n'ai pas vu les
input






box.

Merci.

Christophe
"isabelle" a écrit dans le
message








de
news:
bonjour Christophe,

quel est le bug rencontré ?

isabelle


Bonjour Isabelle:

J'ai essayé ta macro et est rencontré un bug. Je dois
dire










que
je
suis
depuis longtemps dépassé par les événements. La macro
d'Alain me








semble,(no
offense), assez proche du résultat que je recherche,
même si










pour
l'instant
il y a un encore un petit pb.

Merci.

Christophe

"isabelle" a écrit dans le
message








de
news:
bonjour Christophe,

voici un début de piste,

Sub Macro1()
a = CDate("6/17/03")
b = CDate("6/20/03")
c = CDate("9:00 AM")
d = CDate("18:00PM")
e = CDate("00:30")
f = 24 - ((d * 24) - (c * 24))
x = 2
Range("A1") = CDate(a & " " & c)
While y <> CDate(b & " " & d)
y = Range("A" & x - 1) + e
w = CDate(Right(y, 8))
If w > d Then
y = Range("A" & x - 1) + f / 24
Range("A" & x) = y
Else
Range("A" & x) = y
End If
x = x + 1
Wend
End Sub

isabelle


Bonsoir:

Je cherche de l'aide pour creer une macro qui
permettrait










grace
à
une
input
box demandant 5 variables

1- date Début

2- date Fin

3- Heure Début

4- Heure Fin

3- Incrément Heure

de générer une colonne Date/Heure

Par exemple en rentant:

1- 6/17/03

2- 6/19/03

3- 9:00 AM

4- 6:00PM

5- 30 mn

Je veux génerer

6/17/03 9:00 AM

6/17/03 9:30 AM

6/17/03 10:00 AM

6/17/03 10:30 AM

6/17/03 11:00 AM

6/17/03 11:30 AM

6/17/03 12:00 PM

6/17/03 12:30 PM

6/17/03 1:00 PM

6/17/03 1:30 PM

6/17/03 2:00 PM

6/17/03 2:30 PM

6/17/03 3:00 PM

6/17/03 3:30 PM

6/17/03 4:00 PM

6/17/03 4:30 PM

6/17/03 5:00 PM

6/17/03 5:30 PM

6/17/03 6:00 PM

6/18/03 9:00 AM

6/18/03 9:30 AM

6/18/03 10:00 AM

6/18/03 10:30 AM

6/18/03 11:00 AM

6/18/03 11:30 AM

6/18/03 12:00 PM

6/18/03 12:30 PM

6/18/03 1:00 PM

6/18/03 1:30 PM

6/18/03 2:00 PM

6/18/03 2:30 PM

6/18/03 3:00 PM

6/18/03 3:30 PM

6/18/03 4:00 PM

6/18/03 4:30 PM

6/18/03 5:00 PM

6/18/03 5:30 PM

6/18/03 6:00 PM

6/19/03 9:00 AM

6/19/03 9:30 AM

6/19/03 10:00 AM

6/19/03 10:30 AM

6/19/03 11:00 AM

6/19/03 11:30 AM

6/19/03 12:00 PM

6/19/03 12:30 PM

6/19/03 1:00 PM

6/19/03 1:30 PM

6/19/03 2:00 PM

6/19/03 2:30 PM

6/19/03 3:00 PM

6/19/03 3:30 PM

6/19/03 4:00 PM

6/19/03 4:30 PM

6/19/03 5:00 PM

6/19/03 5:30 PM

6/19/03 6:00 PM

Merci d'avance.

Christophe
























Avatar
sabatier
diantre, on ne doit pas parler du même, christophe...
jps (toujours prêt à f..... la m....)

Christophe Joly wrote:

Alain Vallon (AV) me semble, meme s'il en est pas convaincu
lui meme,


1 2 3