Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tester une valeur numérique sous VBA

12 réponses
Avatar
Calou
Bonjour les amis,

Un petit probl=E8me =E0 vous soumettre :
Sous VBA, j'ai une boucle qui me calcule des dur=E9es en fonction
d'heure de d=E9part et de fin (saisie au format hh:mm). Par contre des
fois dans la saisie, je retrouve des choses du genre 12h34.

Comment additionner que les valeurs num=E9riques et indiquer en anomalie
les valeurs non num=E9riques.

Un grand merci de votre aide.

Bonne fin de journ=E9e.

Philippe

10 réponses

1 2
Avatar
isabelle
bonjour Philippe,

pour vérifier si la valeur est numérique,

If IsNumeric(Range("A1")) Then

isabelle

Le 2010-07-26 09:24, Calou a écrit :
Bonjour les amis,

Un petit problème à vous soumettre :
Sous VBA, j'ai une boucle qui me calcule des durées en fonction
d'heure de départ et de fin (saisie au format hh:mm). Par contre des
fois dans la saisie, je retrouve des choses du genre 12h34.

Comment additionner que les valeurs numériques et indiquer en anomalie
les valeurs non numériques.

Un grand merci de votre aide.

Bonne fin de journée.

Philippe
Avatar
isabelle
et pour modifier cette donnée texte en donnée heure minute,

x = Split(Range("A1"), "h")
h = TimeSerial(x(0), x(1), 0)

isabelle

Le 2010-07-26 10:58, isabelle a écrit :
bonjour Philippe,

pour vérifier si la valeur est numérique,

If IsNumeric(Range("A1")) Then

isabelle

Le 2010-07-26 09:24, Calou a écrit :
Bonjour les amis,

Un petit problème à vous soumettre :
Sous VBA, j'ai une boucle qui me calcule des durées en fonction
d'heure de départ et de fin (saisie au format hh:mm). Par contre des
fois dans la saisie, je retrouve des choses du genre 12h34.

Comment additionner que les valeurs numériques et indiquer en anomalie
les valeurs non numériques.

Un grand merci de votre aide.

Bonne fin de journée.

Philippe
Avatar
Calou
On 26 juil, 17:09, isabelle wrote:
et pour modifier cette donnée texte en donnée heure minute,

x = Split(Range("A1"), "h")
h = TimeSerial(x(0), x(1), 0)

isabelle

Le 2010-07-26 10:58, isabelle a écrit :

> bonjour Philippe,

> pour vérifier si la valeur est numérique,

> If IsNumeric(Range("A1")) Then

> isabelle

> Le 2010-07-26 09:24, Calou a écrit :
>> Bonjour les amis,

>> Un petit problème à vous soumettre :
>> Sous VBA, j'ai une boucle qui me calcule des durées en fonction
>> d'heure de départ et de fin (saisie au format hh:mm). Par contre des
>> fois dans la saisie, je retrouve des choses du genre 12h34.

>> Comment additionner que les valeurs numériques et indiquer en anomal ie
>> les valeurs non numériques.

>> Un grand merci de votre aide.

>> Bonne fin de journée.

>> Philippe



Bonjour !

Un grand merci pour cette information !
Il y a t il un moyen de controler que la saisie est bien sous la forme
xx:xx ?
Un grand merci par avance !
Philippe
Avatar
isabelle
bonjour Philippe,

copie cette macro sur la page code de la feuille,
je l'ai adapté pour une saisie des heures en colonne A il faudra modifier au besoin.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set ici = Application.Intersect(Target, Range("A:A")) ' à adapter
If Not ici Is Nothing Then
If Not IsNumeric(Target) Then
MsgBox "vous devez saisir l'heure sous la forme hh:mm"
Target.Clear
Application.EnableEvents = True
Exit Sub
End If
End If
End Sub


isabelle

Le 2010-07-26 14:31, Calou a écrit :
On 26 juil, 17:09, isabelle wrote:
et pour modifier cette donnée texte en donnée heure minute,

x = Split(Range("A1"), "h")
h = TimeSerial(x(0), x(1), 0)

isabelle

Le 2010-07-26 10:58, isabelle a écrit :

bonjour Philippe,



pour vérifier si la valeur est numérique,



If IsNumeric(Range("A1")) Then



isabelle



Le 2010-07-26 09:24, Calou a écrit :
Bonjour les amis,





Un petit problème à vous soumettre :
Sous VBA, j'ai une boucle qui me calcule des durées en fonction
d'heure de départ et de fin (saisie au format hh:mm). Par contre des
fois dans la saisie, je retrouve des choses du genre 12h34.





Comment additionner que les valeurs numériques et indiquer en anomalie
les valeurs non numériques.





Un grand merci de votre aide.





Bonne fin de journée.





Philippe







Bonjour !

Un grand merci pour cette information !
Il y a t il un moyen de controler que la saisie est bien sous la forme
xx:xx ?
Un grand merci par avance !
Philippe
Avatar
Calou
On 26 juil, 21:34, isabelle wrote:
bonjour Philippe,

copie cette macro sur la page code de la feuille,
je l'ai adapté pour une saisie des heures en colonne A il faudra modifi er au besoin.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set ici = Application.Intersect(Target, Range("A:A")) ' à adapter
If Not ici Is Nothing Then
  If Not IsNumeric(Target) Then
     MsgBox "vous devez saisir l'heure sous la forme hh:mm"
     Target.Clear
     Application.EnableEvents = True
     Exit Sub
  End If
End If
End Sub

isabelle

Le 2010-07-26 14:31, Calou a écrit :



> On 26 juil, 17:09, isabelle  wrote:
>> et pour modifier cette donnée texte en donnée heure minute,

>> x = Split(Range("A1"), "h")
>> h = TimeSerial(x(0), x(1), 0)

>> isabelle

>> Le 2010-07-26 10:58, isabelle a écrit :

>>> bonjour Philippe,

>>> pour vérifier si la valeur est numérique,

>>> If IsNumeric(Range("A1")) Then

>>> isabelle

>>> Le 2010-07-26 09:24, Calou a écrit :
>>>> Bonjour les amis,

>>>> Un petit problème à vous soumettre :
>>>> Sous VBA, j'ai une boucle qui me calcule des durées en fonction
>>>> d'heure de départ et de fin (saisie au format hh:mm). Par contre d es
>>>> fois dans la saisie, je retrouve des choses du genre 12h34.

>>>> Comment additionner que les valeurs numériques et indiquer en anom alie
>>>> les valeurs non numériques.

>>>> Un grand merci de votre aide.

>>>> Bonne fin de journée.

>>>> Philippe

> Bonjour !

> Un grand merci pour cette information !
> Il y a t il un moyen de controler que la saisie est bien sous la forme
> xx:xx ?
> Un grand merci par avance !
> Philippe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Isabelle !
Un grand merci à toi pour cette solution.
Je teste tout ca !
Bonne journée
Philippe
Avatar
Calou
On 27 juil, 09:37, Calou wrote:
On 26 juil, 21:34, isabelle wrote:



> bonjour Philippe,

> copie cette macro sur la page code de la feuille,
> je l'ai adapté pour une saisie des heures en colonne A il faudra modi fier au besoin.

> Private Sub Worksheet_Change(ByVal Target As Range)
> Application.EnableEvents = False
> Set ici = Application.Intersect(Target, Range("A:A")) ' à adapter
> If Not ici Is Nothing Then
>   If Not IsNumeric(Target) Then
>      MsgBox "vous devez saisir l'heure sous la forme hh:mm"
>      Target.Clear
>      Application.EnableEvents = True
>      Exit Sub
>   End If
> End If
> End Sub

> isabelle

> Le 2010-07-26 14:31,Caloua écrit :

> > On 26 juil, 17:09, isabelle  wrote:
> >> et pour modifier cette donnée texte en donnée heure minute,

> >> x = Split(Range("A1"), "h")
> >> h = TimeSerial(x(0), x(1), 0)

> >> isabelle

> >> Le 2010-07-26 10:58, isabelle a écrit :

> >>> bonjour Philippe,

> >>> pour vérifier si la valeur est numérique,

> >>> If IsNumeric(Range("A1")) Then

> >>> isabelle

> >>> Le 2010-07-26 09:24,Caloua écrit :
> >>>> Bonjour les amis,

> >>>> Un petit problème à vous soumettre :
> >>>> Sous VBA, j'ai une boucle qui me calcule des durées en fonction
> >>>> d'heure de départ et de fin (saisie au format hh:mm). Par contre des
> >>>> fois dans la saisie, je retrouve des choses du genre 12h34.

> >>>> Comment additionner que les valeurs numériques et indiquer en an omalie
> >>>> les valeurs non numériques.

> >>>> Un grand merci de votre aide.

> >>>> Bonne fin de journée.

> >>>> Philippe

> > Bonjour !

> > Un grand merci pour cette information !
> > Il y a t il un moyen de controler que la saisie est bien sous la form e
> > xx:xx ?
> > Un grand merci par avance !
> > Philippe- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -

Bonjour Isabelle !
Un grand merci à toi pour cette solution.
Je teste tout ca !
Bonne journée
Philippe



Bonjour !
je me tourne vers vous parce que je n'arrive pas a tester la
numericité de l'heure de début et de fin
vioci mon code :


Ligne = 11
Phrase = ""
CompteurHeures = 0
While Cells(Ligne, 1)
HeureDébut = Cells(Ligne, 3)
HeureFin = Cells(Ligne, 4)
If HeureFin = 0 Then HeureFin = 1
If IsNumeric(HeureDébut) Then
Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Début n'est pas
numérique ! " & Chr(13)
End If
If IsNumeric(HeureFin) Then
Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Fin n'est pas
numérique ! " & Chr(13)
End If
If HeureDébut < HeureFin Then CompteurHeures = CompteurHeures +
HeureFin - HeureDébut
JourSemaine = Cells(Ligne, 12)
If HeureDébut < DixSeptHeuresTrente And HeureDébut > SeptHeures And
JourSemaine <> 1 Then
HeureDeb = Format(HeureDébut, "hh:mm")
...

Un grand merci par avance de votre aide.
Cordialement
Avatar
michdenis
Bonjour,

En supposant que tu as 05:45 comme heure dans une cellule.
pour récupérer cette heure en vba, tu peux utiliser ceci :

Dim X As Date
X = TimeValue(Range("B1").Text)

X va indiquer : 05:45:00

--
MichD
--------------------------------------------


"Calou" a écrit dans le message de groupe de discussion :

On 27 juil, 09:37, Calou wrote:
On 26 juil, 21:34, isabelle wrote:



> bonjour Philippe,

> copie cette macro sur la page code de la feuille,
> je l'ai adapté pour une saisie des heures en colonne A il faudra modifier au besoin.

> Private Sub Worksheet_Change(ByVal Target As Range)
> Application.EnableEvents = False
> Set ici = Application.Intersect(Target, Range("A:A")) ' à adapter
> If Not ici Is Nothing Then
> If Not IsNumeric(Target) Then
> MsgBox "vous devez saisir l'heure sous la forme hh:mm"
> Target.Clear
> Application.EnableEvents = True
> Exit Sub
> End If
> End If
> End Sub

> isabelle

> Le 2010-07-26 14:31,Caloua écrit :

> > On 26 juil, 17:09, isabelle wrote:
> >> et pour modifier cette donnée texte en donnée heure minute,

> >> x = Split(Range("A1"), "h")
> >> h = TimeSerial(x(0), x(1), 0)

> >> isabelle

> >> Le 2010-07-26 10:58, isabelle a écrit :

> >>> bonjour Philippe,

> >>> pour vérifier si la valeur est numérique,

> >>> If IsNumeric(Range("A1")) Then

> >>> isabelle

> >>> Le 2010-07-26 09:24,Caloua écrit :
> >>>> Bonjour les amis,

> >>>> Un petit problème à vous soumettre :
> >>>> Sous VBA, j'ai une boucle qui me calcule des durées en fonction
> >>>> d'heure de départ et de fin (saisie au format hh:mm). Par contre des
> >>>> fois dans la saisie, je retrouve des choses du genre 12h34.

> >>>> Comment additionner que les valeurs numériques et indiquer en anomalie
> >>>> les valeurs non numériques.

> >>>> Un grand merci de votre aide.

> >>>> Bonne fin de journée.

> >>>> Philippe

> > Bonjour !

> > Un grand merci pour cette information !
> > Il y a t il un moyen de controler que la saisie est bien sous la forme
> > xx:xx ?
> > Un grand merci par avance !
> > Philippe- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -

Bonjour Isabelle !
Un grand merci à toi pour cette solution.
Je teste tout ca !
Bonne journée
Philippe



Bonjour !
je me tourne vers vous parce que je n'arrive pas a tester la
numericité de l'heure de début et de fin
vioci mon code :


Ligne = 11
Phrase = ""
CompteurHeures = 0
While Cells(Ligne, 1)
HeureDébut = Cells(Ligne, 3)
HeureFin = Cells(Ligne, 4)
If HeureFin = 0 Then HeureFin = 1
If IsNumeric(HeureDébut) Then
Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Début n'est pas
numérique ! " & Chr(13)
End If
If IsNumeric(HeureFin) Then
Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Fin n'est pas
numérique ! " & Chr(13)
End If
If HeureDébut < HeureFin Then CompteurHeures = CompteurHeures +
HeureFin - HeureDébut
JourSemaine = Cells(Ligne, 12)
If HeureDébut < DixSeptHeuresTrente And HeureDébut > SeptHeures And
JourSemaine <> 1 Then
HeureDeb = Format(HeureDébut, "hh:mm")
...

Un grand merci par avance de votre aide.
Cordialement
Avatar
Calou
On 29 août, 23:08, "michdenis" wrote:
Bonjour,

En supposant que tu as 05:45 comme heure dans une cellule.
pour récupérer cette heure en vba, tu peux utiliser ceci :

Dim X As Date
X = TimeValue(Range("B1").Text)

X va indiquer : 05:45:00

--
MichD
--------------------------------------------

"Calou" a écrit dans le message de gr oupe de discussion :

On 27 juil, 09:37, Calou wrote:





> On 26 juil, 21:34, isabelle wrote:

> > bonjour Philippe,

> > copie cette macro sur la page code de la feuille,
> > je l'ai adapté pour une saisie des heures en colonne A il faudra mo difier au besoin.

> > Private Sub Worksheet_Change(ByVal Target As Range)
> > Application.EnableEvents = False
> > Set ici = Application.Intersect(Target, Range("A:A")) ' à adapter
> > If Not ici Is Nothing Then
> >   If Not IsNumeric(Target) Then
> >      MsgBox "vous devez saisir l'heure sous la forme hh:mm"
> >      Target.Clear
> >      Application.EnableEvents = True
> >      Exit Sub
> >   End If
> > End If
> > End Sub

> > isabelle

> > Le 2010-07-26 14:31,Caloua écrit :

> > > On 26 juil, 17:09, isabelle  wrote:
> > >> et pour modifier cette donnée texte en donnée heure minute,

> > >> x = Split(Range("A1"), "h")
> > >> h = TimeSerial(x(0), x(1), 0)

> > >> isabelle

> > >> Le 2010-07-26 10:58, isabelle a écrit :

> > >>> bonjour Philippe,

> > >>> pour vérifier si la valeur est numérique,

> > >>> If IsNumeric(Range("A1")) Then

> > >>> isabelle

> > >>> Le 2010-07-26 09:24,Caloua écrit :
> > >>>> Bonjour les amis,

> > >>>> Un petit problème à vous soumettre :
> > >>>> Sous VBA, j'ai une boucle qui me calcule des durées en fonctio n
> > >>>> d'heure de départ et de fin (saisie au format hh:mm). Par cont re des
> > >>>> fois dans la saisie, je retrouve des choses du genre 12h34.

> > >>>> Comment additionner que les valeurs numériques et indiquer en anomalie
> > >>>> les valeurs non numériques.

> > >>>> Un grand merci de votre aide.

> > >>>> Bonne fin de journée.

> > >>>> Philippe

> > > Bonjour !

> > > Un grand merci pour cette information !
> > > Il y a t il un moyen de controler que la saisie est bien sous la fo rme
> > > xx:xx ?
> > > Un grand merci par avance !
> > > Philippe- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -

> Bonjour Isabelle !
> Un grand merci à toi pour cette solution.
> Je teste tout ca !
> Bonne journée
> Philippe

Bonjour !
je me tourne vers vous parce que je n'arrive pas a tester la
numericité de l'heure de début et de fin
vioci mon code :

Ligne = 11
Phrase = ""
CompteurHeures = 0
While Cells(Ligne, 1)
HeureDébut = Cells(Ligne, 3)
HeureFin = Cells(Ligne, 4)
If HeureFin = 0 Then HeureFin = 1
If IsNumeric(HeureDébut) Then
    Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Début n'es t pas
numérique ! " & Chr(13)
End If
If IsNumeric(HeureFin) Then
    Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Fin n'est pa s
numérique ! " & Chr(13)
End If
If HeureDébut < HeureFin Then CompteurHeures = CompteurHeures +
HeureFin - HeureDébut
JourSemaine = Cells(Ligne, 12)
If HeureDébut < DixSeptHeuresTrente And HeureDébut > SeptHeures And
JourSemaine <> 1 Then
    HeureDeb = Format(HeureDébut, "hh:mm")
...

Un grand merci par avance de votre aide.
Cordialement- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Michdenis,

Merci de ton aide !
Je me suis certainement mal exprimé mais mon projet gère les heures
sous VBA (Avec l'aide du forum bien sur !).
Pour le moment, quand les heures saisies ne sont pas numériques, ma
macro plante.
c'est pour cela que je voulais identifier les heures saisies non
numériques
N'hesites pas a me dire si je ne suis toujours pas clair.
Bonne journée !
Cordialement.
Philippe
Avatar
michdenis
Si tu t'expliquais sur ce que tu veux dire par :

"quand les heures saisies ne sont pas numériques"

Qu'est-ce qu'il y a dans la cellule? Son format ?

--
MichD
--------------------------------------------


"Calou" a écrit dans le message de groupe de discussion :

On 29 août, 23:08, "michdenis" wrote:
Bonjour,

En supposant que tu as 05:45 comme heure dans une cellule.
pour récupérer cette heure en vba, tu peux utiliser ceci :

Dim X As Date
X = TimeValue(Range("B1").Text)

X va indiquer : 05:45:00

--
MichD
--------------------------------------------

"Calou" a écrit dans le message de groupe de discussion :

On 27 juil, 09:37, Calou wrote:





> On 26 juil, 21:34, isabelle wrote:

> > bonjour Philippe,

> > copie cette macro sur la page code de la feuille,
> > je l'ai adapté pour une saisie des heures en colonne A il faudra modifier au besoin.

> > Private Sub Worksheet_Change(ByVal Target As Range)
> > Application.EnableEvents = False
> > Set ici = Application.Intersect(Target, Range("A:A")) ' à adapter
> > If Not ici Is Nothing Then
> > If Not IsNumeric(Target) Then
> > MsgBox "vous devez saisir l'heure sous la forme hh:mm"
> > Target.Clear
> > Application.EnableEvents = True
> > Exit Sub
> > End If
> > End If
> > End Sub

> > isabelle

> > Le 2010-07-26 14:31,Caloua écrit :

> > > On 26 juil, 17:09, isabelle wrote:
> > >> et pour modifier cette donnée texte en donnée heure minute,

> > >> x = Split(Range("A1"), "h")
> > >> h = TimeSerial(x(0), x(1), 0)

> > >> isabelle

> > >> Le 2010-07-26 10:58, isabelle a écrit :

> > >>> bonjour Philippe,

> > >>> pour vérifier si la valeur est numérique,

> > >>> If IsNumeric(Range("A1")) Then

> > >>> isabelle

> > >>> Le 2010-07-26 09:24,Caloua écrit :
> > >>>> Bonjour les amis,

> > >>>> Un petit problème à vous soumettre :
> > >>>> Sous VBA, j'ai une boucle qui me calcule des durées en fonction
> > >>>> d'heure de départ et de fin (saisie au format hh:mm). Par contre des
> > >>>> fois dans la saisie, je retrouve des choses du genre 12h34.

> > >>>> Comment additionner que les valeurs numériques et indiquer en anomalie
> > >>>> les valeurs non numériques.

> > >>>> Un grand merci de votre aide.

> > >>>> Bonne fin de journée.

> > >>>> Philippe

> > > Bonjour !

> > > Un grand merci pour cette information !
> > > Il y a t il un moyen de controler que la saisie est bien sous la forme
> > > xx:xx ?
> > > Un grand merci par avance !
> > > Philippe- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -

> Bonjour Isabelle !
> Un grand merci à toi pour cette solution.
> Je teste tout ca !
> Bonne journée
> Philippe

Bonjour !
je me tourne vers vous parce que je n'arrive pas a tester la
numericité de l'heure de début et de fin
vioci mon code :

Ligne = 11
Phrase = ""
CompteurHeures = 0
While Cells(Ligne, 1)
HeureDébut = Cells(Ligne, 3)
HeureFin = Cells(Ligne, 4)
If HeureFin = 0 Then HeureFin = 1
If IsNumeric(HeureDébut) Then
Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Début n'est pas
numérique ! " & Chr(13)
End If
If IsNumeric(HeureFin) Then
Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Fin n'est pas
numérique ! " & Chr(13)
End If
If HeureDébut < HeureFin Then CompteurHeures = CompteurHeures +
HeureFin - HeureDébut
JourSemaine = Cells(Ligne, 12)
If HeureDébut < DixSeptHeuresTrente And HeureDébut > SeptHeures And
JourSemaine <> 1 Then
HeureDeb = Format(HeureDébut, "hh:mm")
...

Un grand merci par avance de votre aide.
Cordialement- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Michdenis,

Merci de ton aide !
Je me suis certainement mal exprimé mais mon projet gère les heures
sous VBA (Avec l'aide du forum bien sur !).
Pour le moment, quand les heures saisies ne sont pas numériques, ma
macro plante.
c'est pour cela que je voulais identifier les heures saisies non
numériques
N'hesites pas a me dire si je ne suis toujours pas clair.
Bonne journée !
Cordialement.
Philippe
Avatar
Calou
On 30 août, 14:10, "michdenis" wrote:
Si tu t'expliquais sur ce que tu veux dire par :

"quand les heures saisies ne sont pas numériques"

Qu'est-ce qu'il y a dans la cellule? Son format ?

--
MichD
--------------------------------------------

"Calou" a écrit dans le message de gr oupe de discussion :

On 29 août, 23:08, "michdenis" wrote:





> Bonjour,

> En supposant que tu as 05:45 comme heure dans une cellule.
> pour récupérer cette heure en vba, tu peux utiliser ceci :

> Dim X As Date
> X = TimeValue(Range("B1").Text)

> X va indiquer : 05:45:00

> --
> MichD
> --------------------------------------------

> "Calou" a écrit dans le message de groupe de discussion :
>
> On 27 juil, 09:37, Calou wrote:

> > On 26 juil, 21:34, isabelle wrote:

> > > bonjour Philippe,

> > > copie cette macro sur la page code de la feuille,
> > > je l'ai adapté pour une saisie des heures en colonne A il faudra modifier au besoin.

> > > Private Sub Worksheet_Change(ByVal Target As Range)
> > > Application.EnableEvents = False
> > > Set ici = Application.Intersect(Target, Range("A:A")) ' à adapt er
> > > If Not ici Is Nothing Then
> > >   If Not IsNumeric(Target) Then
> > >      MsgBox "vous devez saisir l'heure sous la forme hh:mm"
> > >      Target.Clear
> > >      Application.EnableEvents = True
> > >      Exit Sub
> > >   End If
> > > End If
> > > End Sub

> > > isabelle

> > > Le 2010-07-26 14:31,Caloua écrit :

> > > > On 26 juil, 17:09, isabelle  wrote:
> > > >> et pour modifier cette donnée texte en donnée heure minute,

> > > >> x = Split(Range("A1"), "h")
> > > >> h = TimeSerial(x(0), x(1), 0)

> > > >> isabelle

> > > >> Le 2010-07-26 10:58, isabelle a écrit :

> > > >>> bonjour Philippe,

> > > >>> pour vérifier si la valeur est numérique,

> > > >>> If IsNumeric(Range("A1")) Then

> > > >>> isabelle

> > > >>> Le 2010-07-26 09:24,Caloua écrit :
> > > >>>> Bonjour les amis,

> > > >>>> Un petit problème à vous soumettre :
> > > >>>> Sous VBA, j'ai une boucle qui me calcule des durées en fonct ion
> > > >>>> d'heure de départ et de fin (saisie au format hh:mm). Par co ntre des
> > > >>>> fois dans la saisie, je retrouve des choses du genre 12h34.

> > > >>>> Comment additionner que les valeurs numériques et indiquer e n anomalie
> > > >>>> les valeurs non numériques.

> > > >>>> Un grand merci de votre aide.

> > > >>>> Bonne fin de journée.

> > > >>>> Philippe

> > > > Bonjour !

> > > > Un grand merci pour cette information !
> > > > Il y a t il un moyen de controler que la saisie est bien sous la forme
> > > > xx:xx ?
> > > > Un grand merci par avance !
> > > > Philippe- Masquer le texte des messages précédents -

> > > - Afficher le texte des messages précédents -

> > Bonjour Isabelle !
> > Un grand merci à toi pour cette solution.
> > Je teste tout ca !
> > Bonne journée
> > Philippe

> Bonjour !
> je me tourne vers vous parce que je n'arrive pas a tester la
> numericité de l'heure de début et de fin
> vioci mon code :

> Ligne = 11
> Phrase = ""
> CompteurHeures = 0
> While Cells(Ligne, 1)
> HeureDébut = Cells(Ligne, 3)
> HeureFin = Cells(Ligne, 4)
> If HeureFin = 0 Then HeureFin = 1
> If IsNumeric(HeureDébut) Then
>     Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Début n' est pas
> numérique ! " & Chr(13)
> End If
> If IsNumeric(HeureFin) Then
>     Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Fin n'est pas
> numérique ! " & Chr(13)
> End If
> If HeureDébut < HeureFin Then CompteurHeures = CompteurHeures +
> HeureFin - HeureDébut
> JourSemaine = Cells(Ligne, 12)
> If HeureDébut < DixSeptHeuresTrente And HeureDébut > SeptHeures And
> JourSemaine <> 1 Then
>     HeureDeb = Format(HeureDébut, "hh:mm")
> ...

> Un grand merci par avance de votre aide.
> Cordialement- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -

Bonjour Michdenis,

Merci de ton aide !
Je me suis certainement mal exprimé mais mon projet gère les heures
sous VBA (Avec l'aide du forum bien sur !).
Pour le moment, quand les heures saisies ne sont pas numériques, ma
macro plante.
c'est pour cela que je voulais identifier les heures saisies non
numériques
N'hesites pas a me dire si je ne suis toujours pas clair.
Bonne journée !
Cordialement.
Philippe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Michdenis,
Merci de ta patience ! Decidemment, j'ai des soucis de comprehension :
J'ai un tableau où l'on saisie des heures. Ensuite une macro prend en
charge cette saisie et effectue certains traitements. Avant ce
traitement j'ai une moulinette qui gere les anomalies. Du genre tester
si les heures saisies etaient bien numériques ! si tel n'est pas le
cas ! je voudrais l'indiquer dans une msgbox !

d'ou ce code avec les lignes precedees une étoile :
Ligne = 11
Phrase = ""
CompteurHeures = 0
While Cells(Ligne, 1)
HeureDébut = Cells(Ligne, 3)
HeureFin = Cells(Ligne, 4)
If HeureFin = 0 Then HeureFin = 1
*If IsNumeric(HeureDébut) Then
* Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Début n'est
pas numérique ! " & Chr(13)
*End If
*If IsNumeric(HeureFin) Then
* Phrase = Phrase & Cells(Ligne, 1) & " : L'Heure de Fin n'est pas
numérique ! " & Chr(13)
*End If
If HeureDébut < HeureFin Then CompteurHeures = CompteurHeures +
HeureFin - HeureDébut
JourSemaine = Cells(Ligne, 12)
If HeureDébut < DixSeptHeuresTrente And HeureDébut > SeptHeures And
JourSemaine <> 1 Then
HeureDeb = Format(HeureDébut, "hh:mm")
HeureFi = Format(HeureFin, "hh:mm")
Phrase = Phrase & Cells(Ligne, 1) & " de " & HeureDeb & " à " &
HeureFi & " : Heure de Début antérieure à 17h30 " & Chr(13)
End If
If HeureFin < HeureDébut Then
HeureDeb = Format(HeureDébut, "hh:mm")
HeureFi = Format(HeureFin, "hh:mm")
Phrase = Phrase & Cells(Ligne, 1) & " de " & HeureDeb & " à " &
HeureFi & " : Heure de Fin antérieure à l'Heure de Début " & Chr(13)
End If
Ligne = Ligne + 1
Wend
If CompteurHeures > 25 / 24 Then
DiffHeures = Format(CompteurHeures - (25 / 24), "hh:mm")
Phrase = Phrase & Chr(13) & "Dépassement du plafond de 25 heures
pour " & DiffHeures & " Heures ! "
End If
If Phrase <> "" Then MsgBox Phrase, vbInformation, "Information"
End Sub

En esperant avoir été plus clair dans mes explicatiions.

Je te souhaite une bonne journée !

Philippe
1 2