-----Message d'origine-----
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement
01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très
lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de
l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement
lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout
en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment
leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à
exploiter ensuite.
Merci pour votre solidarité
J@@
.
-----Message d'origine-----
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement
01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très
lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de
l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement
lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout
en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment
leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à
exploiter ensuite.
Merci pour votre solidarité
J@@
.
-----Message d'origine-----
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement
01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très
lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de
l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement
lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout
en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment
leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à
exploiter ensuite.
Merci pour votre solidarité
J@@
.
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à exploiter ensuite.
Merci pour votre solidarité
J@@
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à exploiter ensuite.
Merci pour votre solidarité
J@@
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à exploiter ensuite.
Merci pour votre solidarité
J@@
-----Message d'origine-----
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement
01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très
lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de
l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement
lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout
en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment
leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à
exploiter ensuite.
Merci pour votre solidarité
J@@
.
-----Message d'origine-----
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement
01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très
lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de
l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement
lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout
en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment
leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à
exploiter ensuite.
Merci pour votre solidarité
J@@
.
-----Message d'origine-----
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement
01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi, ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très
lourde (détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de
l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement
lorsque des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout
en permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment
leurs beaux ongles
vernis en tapant des tonnes de trucs impossibles à
exploiter ensuite.
Merci pour votre solidarité
J@@
.
Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonsoir,
La journée commence donc bien ;-))Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
onglesvernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonsoir,
La journée commence donc bien ;-))
Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <
Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonsoir,
La journée commence donc bien ;-))Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
onglesvernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
onglesvernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <
Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
onglesvernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
si on peut dire, michel, car à papeete, au saut du lit, c'est entre 11h et
midi...
jps
PS tu me diras, en auvergne on a coutume de dire : j'ai travaillé toute la
journée et à midi c'était fini...
Michel Gaboly wrote:Bonsoir,
La journée commence donc bien ;-))Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date
à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à
midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
onglesvernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
si on peut dire, michel, car à papeete, au saut du lit, c'est entre 11h et
midi...
jps
PS tu me diras, en auvergne on a coutume de dire : j'ai travaillé toute la
journée et à midi c'était fini...
Michel Gaboly wrote:
Bonsoir,
La journée commence donc bien ;-))
Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <
Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date
à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à
midi.
Les calculs sur les 1/2 journées sonr alors possibles.
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
si on peut dire, michel, car à papeete, au saut du lit, c'est entre 11h et
midi...
jps
PS tu me diras, en auvergne on a coutume de dire : j'ai travaillé toute la
journée et à midi c'était fini...
Michel Gaboly wrote:Bonsoir,
La journée commence donc bien ;-))Bonjour Michel
au saut du lit je vois ta réponse,
a priori cela me convient parfaitement,
j'emmène cela au boulot et je te tiens au courant. (dans une 12aine
d'heures)
Merci et meilleurs voeux
@+
J@@
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date
à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à
midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de
l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
onglesvernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
La journée commence donc bien ;-))
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence) n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
La journée commence donc bien ;-))
"Michel Gaboly" <
Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence) n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
La journée commence donc bien ;-))
"Michel Gaboly" <Tu peux utiliser l'événement Change de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence) n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail del'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettantle calcul sur cette donnée????
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.
Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
For Each c In Target
If Not IsError(CDate(Left(c, Len(c) - 2))) Then
Application.EnableEvents = False
c.NumberFormat = "d/m/yy h:mm"
Select Case Right(c, 1)
Case "A"
c = CDate(Left(c, Len(c) - 2))
Case "B"
c = CDate(Left(c, Len(c) - 2)) + 0.5
End Select
Application.EnableEvents = True
End If
Next c
End Sub
Dans cet exemple j'ai utilisé A pour le matin et B pour l'après-midi
(Case "A" et Case "B").
Le principe est le suivant : quand une ou plusieurs cellules sont
modi-
fiées, on les examine une par une (Boucle For Each c In Target).
Pour chaque cellule, on teste si la conversion en date après avoir
éliminé les 2 derniers caractères (Espace + "A" ou "B" en
l'occurrence)
n'aboutit pas une erreur.
On remplace alors espace + "A" par rien, ce qui correspond à la date à
0 heure et espace + "B" par 0,5, ce qui correedpond à la date à midi.
Les calculs sur les 1/2 journées sonr alors possibles.Bonjour à tous et bienvenue dans cette nouvelle année
J'ai un problème de calcul de congés:
en A: date du jour de début de l'arrêt, actuellement 01/01/04
en B: date du jour de fin de l'arrêt
ensuite j'ai un calcul C=B-A
Mais l'arrêt peut être seulement de la matinée, ou de l'après-midi,
ou 3
jours 1/2...
Avec le format jj/mm/aa h: AM/PM , la saisie est très lourde
(détail de
l'heure), et l'affichage encombrant.
Or la 1/2 journée n'est pas divisible, donc pas besoin de l'heure.
Pourrait-on saisir seulement 01/01 A (et encore seulement lorsque
des
1/2 journées sont concernées) et obtenir 01/01/04 AM tout en
permettant
le calcul sur cette donnée????
Je veux éviter que les gentilles secrétaires abîment leurs beaux
ongles
vernis en tapant des tonnes de trucs impossibles à exploiter
ensuite.
Merci pour votre solidarité
J@@
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Pour tout dire, j'ai testé ta proc mais je ne vois rien sauf quand je
fais des calculs sur les dates comportant A ou B : #VALEUR!
Et je ne sais, pas comment faire de pas à pas sur ce type de proc (que
j'ai bien sûr mise dans ThisWorkbook)
Peut - tu m'orienter??
Pour tout dire, j'ai testé ta proc mais je ne vois rien sauf quand je
fais des calculs sur les dates comportant A ou B : #VALEUR!
Et je ne sais, pas comment faire de pas à pas sur ce type de proc (que
j'ai bien sûr mise dans ThisWorkbook)
Peut - tu m'orienter??
Pour tout dire, j'ai testé ta proc mais je ne vois rien sauf quand je
fais des calculs sur les dates comportant A ou B : #VALEUR!
Et je ne sais, pas comment faire de pas à pas sur ce type de proc (que
j'ai bien sûr mise dans ThisWorkbook)
Peut - tu m'orienter??