Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
e5gojnE$EHA.3416@TK2MSFTNGP09.phx.gbl...
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub ' dans tous les cas...
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub ' dans tous les cas...
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le troll@paris.fr> a écrit dans le message de news:
Ob3gT9H$EHA.1260@TK2MSFTNGP12.phx.gbl...
Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
e5gojnE$EHA.3416@TK2MSFTNGP09.phx.gbl...
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub ' dans tous les cas...
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y a
pas d'erreur = 0, tu vas afficher erreur "0"!!!On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITEerreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
entDDZJ$Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y a
pas d'erreur = 0, tu vas afficher erreur "0"!!!
On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITE
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...
Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
entDDZJ$EHA.632@TK2MSFTNGP10.phx.gbl...
Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le troll@paris.fr> a écrit dans le message de news:
Ob3gT9H$EHA.1260@TK2MSFTNGP12.phx.gbl...
Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$EHA.3416@TK2MSFTNGP09.phx.gbl...
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y a
pas d'erreur = 0, tu vas afficher erreur "0"!!!On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITEerreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
entDDZJ$Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il a
commis
si vous pourriez me mettre un bout de code pour me diriger ver la bonne
voix j'en serais heureux.
Tu à raison sa fonctionne pas de la façons que j'ai fais ça. J'avais juste
essayer de planter le programme :o(
Mon programme plante sur un contrôle MaskEdBox si l'utilisateur ne remplie
pas le MaskEdBox
comme il faut le programme se ferme je vais voir avec ta nouvelle version.
je vous revient
"LE TROLL" <le a écrit dans le message de news:
%233epq%23J$Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y a
pas d'erreur = 0, tu vas afficher erreur "0"!!!On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITEerreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
entDDZJ$Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
si vous pourriez me mettre un bout de code pour me diriger ver la
bonne voix j'en serais heureux.
Tu à raison sa fonctionne pas de la façons que j'ai fais ça. J'avais juste
essayer de planter le programme :o(
Mon programme plante sur un contrôle MaskEdBox si l'utilisateur ne remplie
pas le MaskEdBox
comme il faut le programme se ferme je vais voir avec ta nouvelle version.
je vous revient
"LE TROLL" <le troll@paris.fr> a écrit dans le message de news:
%233epq%23J$EHA.3372@TK2MSFTNGP10.phx.gbl...
Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y a
pas d'erreur = 0, tu vas afficher erreur "0"!!!
On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITE
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...
Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
entDDZJ$EHA.632@TK2MSFTNGP10.phx.gbl...
Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le troll@paris.fr> a écrit dans le message de news:
Ob3gT9H$EHA.1260@TK2MSFTNGP12.phx.gbl...
Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$EHA.3416@TK2MSFTNGP09.phx.gbl...
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
si vous pourriez me mettre un bout de code pour me diriger ver la
bonne voix j'en serais heureux.
Tu à raison sa fonctionne pas de la façons que j'ai fais ça. J'avais juste
essayer de planter le programme :o(
Mon programme plante sur un contrôle MaskEdBox si l'utilisateur ne remplie
pas le MaskEdBox
comme il faut le programme se ferme je vais voir avec ta nouvelle version.
je vous revient
"LE TROLL" <le a écrit dans le message de news:
%233epq%23J$Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y a
pas d'erreur = 0, tu vas afficher erreur "0"!!!On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITEerreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
entDDZJ$Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
si vous pourriez me mettre un bout de code pour me diriger ver la
bonne voix j'en serais heureux.
Re-suite
Pierre, je ne sais pas ce que c'est que ton truc, mais si c'est un mask
d'écran de saisi dans box_quelque_chose, et que si c'est vide ça plante au
n°13, voici ce qu'il faut faire en gros:
debut:
on error goto erreur
objet.x_box ' truc qui cloche, si erreur, grâce au "on error", va à
adresse "erreur:"
goto suite ' si tout est bon
'
erreur: ' si c'est as ok
if err = 13 then
msgbox "tu engueules l'utilisateur", vbexclamation
err.clear 'rab err = 0
objet.x_box.SetFocus ' tu refiles le focus à l'objet
goto debut: ' pas cerain que ce soit utile, vois, je ne suis pas
dans mon éditeur, je ne teste pas...
endif
exit sub ' si jamais 1 autre err <> de 0 arrive...
'
sute: 'on continue... (err = 0)
-------------
Si tu as un problème, envoies, je te fais avec l'éditeur...
------------- ng75 AROBASE noos.fr
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
eaNDGFK$Tu à raison sa fonctionne pas de la façons que j'ai fais ça. J'avais
juste essayer de planter le programme :o(
Mon programme plante sur un contrôle MaskEdBox si l'utilisateur ne
remplie pas le MaskEdBox
comme il faut le programme se ferme je vais voir avec ta nouvelle
version.
je vous revient
"LE TROLL" <le a écrit dans le message de news:
%233epq%23J$Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y
a pas d'erreur = 0, tu vas afficher erreur "0"!!!On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITEerreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source &
vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: entDDZJ$Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
si vous pourriez me mettre un bout de code pour me diriger ver la
bonne voix j'en serais heureux.
Re-suite
Pierre, je ne sais pas ce que c'est que ton truc, mais si c'est un mask
d'écran de saisi dans box_quelque_chose, et que si c'est vide ça plante au
n°13, voici ce qu'il faut faire en gros:
debut:
on error goto erreur
objet.x_box ' truc qui cloche, si erreur, grâce au "on error", va à
adresse "erreur:"
goto suite ' si tout est bon
'
erreur: ' si c'est as ok
if err = 13 then
msgbox "tu engueules l'utilisateur", vbexclamation
err.clear 'rab err = 0
objet.x_box.SetFocus ' tu refiles le focus à l'objet
goto debut: ' pas cerain que ce soit utile, vois, je ne suis pas
dans mon éditeur, je ne teste pas...
endif
exit sub ' si jamais 1 autre err <> de 0 arrive...
'
sute: 'on continue... (err = 0)
-------------
Si tu as un problème, envoies, je te fais avec l'éditeur...
------------- ng75 AROBASE noos.fr
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
eaNDGFK$EHA.2580@TK2MSFTNGP15.phx.gbl...
Tu à raison sa fonctionne pas de la façons que j'ai fais ça. J'avais
juste essayer de planter le programme :o(
Mon programme plante sur un contrôle MaskEdBox si l'utilisateur ne
remplie pas le MaskEdBox
comme il faut le programme se ferme je vais voir avec ta nouvelle
version.
je vous revient
"LE TROLL" <le troll@paris.fr> a écrit dans le message de news:
%233epq%23J$EHA.3372@TK2MSFTNGP10.phx.gbl...
Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y
a pas d'erreur = 0, tu vas afficher erreur "0"!!!
On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITE
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...
Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source &
vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: entDDZJ$EHA.632@TK2MSFTNGP10.phx.gbl...
Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le troll@paris.fr> a écrit dans le message de news:
Ob3gT9H$EHA.1260@TK2MSFTNGP12.phx.gbl...
Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$EHA.3416@TK2MSFTNGP09.phx.gbl...
Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
si vous pourriez me mettre un bout de code pour me diriger ver la
bonne voix j'en serais heureux.
Re-suite
Pierre, je ne sais pas ce que c'est que ton truc, mais si c'est un mask
d'écran de saisi dans box_quelque_chose, et que si c'est vide ça plante au
n°13, voici ce qu'il faut faire en gros:
debut:
on error goto erreur
objet.x_box ' truc qui cloche, si erreur, grâce au "on error", va à
adresse "erreur:"
goto suite ' si tout est bon
'
erreur: ' si c'est as ok
if err = 13 then
msgbox "tu engueules l'utilisateur", vbexclamation
err.clear 'rab err = 0
objet.x_box.SetFocus ' tu refiles le focus à l'objet
goto debut: ' pas cerain que ce soit utile, vois, je ne suis pas
dans mon éditeur, je ne teste pas...
endif
exit sub ' si jamais 1 autre err <> de 0 arrive...
'
sute: 'on continue... (err = 0)
-------------
Si tu as un problème, envoies, je te fais avec l'éditeur...
------------- ng75 AROBASE noos.fr
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de news:
eaNDGFK$Tu à raison sa fonctionne pas de la façons que j'ai fais ça. J'avais
juste essayer de planter le programme :o(
Mon programme plante sur un contrôle MaskEdBox si l'utilisateur ne
remplie pas le MaskEdBox
comme il faut le programme se ferme je vais voir avec ta nouvelle
version.
je vous revient
"LE TROLL" <le a écrit dans le message de news:
%233epq%23J$Ah non camarade, dans ton cas tu vas tout droit à l'erreur, s'il n'y
a pas d'erreur = 0, tu vas afficher erreur "0"!!!On Error GoTo erreur
Err.Raise 13 ' provoque erreur volontaire n°13
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf Exit
Sub
Là ça marche mieux avec "goto" + "suite:"
Sinon, tu n'es pas obligé de terminer après une erreur, certaines sont
contournables, faut voir sur quoi ça plante... J'ai mis un goto, tu peux
aussi le faire au gosub ou dans une procédure...On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
GOTO SUITEerreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf
'---> ou reprise en main de la situation...Exit Sub ' dans tous les cas...
SUITE: ' cntinue le programme...
...........ou encore............On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
if erreur <> 0 then
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source &
vbLf
Exit Sub
endif
' suite...
------------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: entDDZJ$Merci sa fonctionne bien
j'ai du déplacer exite Sub
pour éviter que le programme se ferme
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
Exit Sub
"LE TROLL" <le a écrit dans le message de news:
Ob3gT9H$Salut,
Le principe du captage d'erreur:
Sub Form_Load()
bis:
On Error GoTo erreur
Err.Raise 13 ' provoqu erreur volontaire
Exit Sub
erreur:
MsgBox "Erreur n° " & Err & vbLf & "Source : " & Err.Source & vbLf &
"Description : " & Err.Description
' si on veut ignorer et continuer
'On Error Resume Next
'GoTo bis
' mettre à 0
'Err.Clear
End Sub
-------------
exemple pratique, tu vas accéder à 1 fichier
--------------
bis:
on error goto erreur1
ouverture fichier en lecture
lit fichier
exit sub
erreur1: ' inexistant
création fichier
goto bis ' lit fichier, ici inutile...
---------
"Pierre" <moldry(supprimer)@hotmail.com> a écrit dans le message de
news: e5gojnE$Salut,
Je n'arrive pas a régler mon Erreur d'exécution 13: Type incompatible
En gestion d'erreur je ne suis pas très bon.
j'aimerais intercepter l'erreur d'exécution 13
donner un message (msbox) à l'utilisateur de corriger l'erreure qu'il
a commis
si vous pourriez me mettre un bout de code pour me diriger ver la
bonne voix j'en serais heureux.
Bonjour Pierre,
Ah les mask, en plus c'est pas beau, lol, déjà tu peux éliminer tous
tes problèmes, soit en fixant la saisie par de comboBox, soit en la
supervisant par le contrôle de la saisie, ou encore en mettant les objets
appropriés "calendar":
Voici un code, ci-joint la source
--------------------------------------
' ExpAideSaisieDates form1
'
Option Explicit
'
Dim i As Long
Dim nomJour As String
Dim Jour As Byte
'
Sub Form_Load()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = False
End Sub
Sub NomDuJour()
Select Case Jour
Case 1: nomJour = "dim"
Case 2: nomJour = "lun"
Case 3: nomJour = "mar"
Case 4: nomJour = "mer"
Case 5: nomJour = "jeu"
Case 6: nomJour = "ven"
Case 7: nomJour = "sam"
End Select
End Sub
'###########################################################################
'############### SAISIE CALENDRIER
#########################################
'---------------------------------------------------------------------------
Sub m_calendar_Click() ' menu saisie par calendar
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
'
Calendar1.Day = Day(Date) ' j
Calendar1.Month = Month(Date) ' m
Calendar1.Year = Year(Date) ' a4
'
Combo1.Clear
Combo2.Clear
For i = 0 To 59
If i < 24 Then Combo1.AddItem Format(i, "00") 'h
Combo2.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo1.ListIndex = Hour(Time) ' h
Combo2.ListIndex = Minute(Time) ' n
End Sub
'###########################################################################
'############### SAISIE COMBOBOX
###########################################
'---------------------------------------------------------------------------
Sub m_combo_Click() ' menu saisie par combo
Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
'
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo6.Clear
Combo7.Clear
For i = 0 To 59
If i > 0 And i < 32 Then Combo3.AddItem Format(i, "00") 'j
If i > 0 And i < 13 Then Combo4.AddItem Format(i, "00") 'm
Combo5.AddItem Format((i + 2000), "0000") 'a4 (de 2000 à 2000 + 59(i))
If i < 24 Then Combo6.AddItem Format(i, "00") 'h
Combo7.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo3.ListIndex = Day(Date) - 1 ' numérote à partir de 0 le combo j
Combo4.ListIndex = Month(Date) - 1
Combo5.ListIndex = Year(Date) - 2000
Combo6.ListIndex = Hour(Time) ' h
Combo7.ListIndex = Minute(Time) ' n
End Sub
Sub Command1_Click() ' valide saisie frame1
Jour = Weekday(Calendar1.Value)
Call NomDuJour
Label4.Caption = nomJour & " " & Calendar1.Value & " : " &
Format(Combo1.ListIndex, "00") & " h " & Format(Combo2.ListIndex, "00")
End Sub
Sub Command2_Click() 'valide saisie frame2
Dim jj As Byte
Dim mm As Byte
Dim a4 As Integer
'
jj = Combo3.ListIndex + 1
mm = Combo4.ListIndex + 1
a4 = Combo5.ListIndex + 2000
Jour = Weekday(jj & "/" & mm & "/" & a4)
Call NomDuJour
Label5.Caption = nomJour & " " & Format(Combo3.ListIndex + 1, "00") & "/"
& Format(Combo4.ListIndex + 1, "00") & "/" & Combo5.ListIndex + 2000
End Sub
'###########################################################################
'############### SAISIE TEXT
###############################################
'---------------------------------------------------------------------------
Sub m_text_Click() 'frame3 saisie text
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = True
Text1 = ""
Text2 = ""
End Sub
Sub Text1_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans KeyAscii"
If KeyAscii = 8 Then Exit Sub ' effacement
If KeyAscii = 13 Then
KeyAscii = 0 ' evite le bang
Text2.SetFocus
End If
If KeyAscii < 47 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Sub Text2_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans KeyAscii"
Select Case KeyAscii
Case 8: Exit Sub ' effacement
Case 13
KeyAscii = 0 ' evite le bang
Command3.SetFocus
Case 48 To 57: Exit Sub
Case 72, 104: Exit Sub
End Select
KeyAscii = 0
End Sub
Sub Command3_Click() 'valider saisie textes
Dim testDate As Date
Dim hh As Byte
Dim separe As String * 1
Dim mm As Byte
'
' NOTA BENE
' pour l'heure il est plus logique de prendre
' le point comme sépateur, car ainsi on reste
' au clavier numérique, ou encore et mieux,
' de prendre deux TextBox, l'un pour les heures,
' l'autre pour les minutes
' officiellement c'est ":" qui sépare l'heure
' On peut avec les fonctions qui gèrent les dates,
' balancer directement (date + heure), mais ça
' complique les tests de localisation d'erreur...
'
On Error GoTo erreur1
testDate = Text1
GoTo suite1
erreur1:
MsgBox "Date (jj/jj/aaaa) invalide", vbExclamation
Err.Clear
Text1.SetFocus
Exit Sub
'
suite1:
' la variable date va mettre au format, contrôler
' la validité et refuser une date inexistante (3 avantages)
Text1 = testDate
On Error GoTo erreur2
' morceau_extrait = MID(chaine, début, longueur)
hh = Val(Mid(Text2, 1, 2))
mm = Val(Mid(Text2, 4, 2))
GoTo suite2
'
erreur2:
MsgBox "Heure (00H00) invalide", vbExclamation
Err.Clear
Text2.SetFocus
Exit Sub
'
suite2:
separe = Mid(Text2, 3, 1)
If separe = "H" Then separe = "h"
If separe <> "h" Then GoTo erreur2
If Len(Text2) <> 5 Then GoTo erreur2
'
Text2 = Format(hh, "00") & separe & Format(mm, "00")
Jour = Weekday(Text1)
Call NomDuJour
Label8.Caption = nomJour & " " & Text1 & " : " & Text2
End Sub
'-------------
' explications
'-------------
' ---> Pour contrôler les dates tu peux faire:
' dim dateMini as date
' dim dateMaxi as date
' dim laDate as date
' '
' dateMini = "12/12/2004"
' dateMini = "23/01/2006"
' if laDate < dateMini or laDate > dateMaxi then exit sub
' '
' ---> Pour contrôler les heures tu peux faire:
' dim hh as byte
' dim mn as byte
' dim mnTotal as integer
' hh = heures_saisies
' mn = minutes_saisies
' mnTotal = (hh * 60) + mn
' if mnTotal < à X or mnTotal > Y then exit sub
' ---> Ne pas omettre les propriétés de chaque objet
' tabStop si le focus doit s'y arrêter
' TabIndex pour l'odre des focus quand tu fais <Tab> =suivant...
Bonjour Pierre,
Ah les mask, en plus c'est pas beau, lol, déjà tu peux éliminer tous
tes problèmes, soit en fixant la saisie par de comboBox, soit en la
supervisant par le contrôle de la saisie, ou encore en mettant les objets
appropriés "calendar":
Voici un code, ci-joint la source
--------------------------------------
' ExpAideSaisieDates form1
'
Option Explicit
'
Dim i As Long
Dim nomJour As String
Dim Jour As Byte
'
Sub Form_Load()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = False
End Sub
Sub NomDuJour()
Select Case Jour
Case 1: nomJour = "dim"
Case 2: nomJour = "lun"
Case 3: nomJour = "mar"
Case 4: nomJour = "mer"
Case 5: nomJour = "jeu"
Case 6: nomJour = "ven"
Case 7: nomJour = "sam"
End Select
End Sub
'###########################################################################
'############### SAISIE CALENDRIER
#########################################
'---------------------------------------------------------------------------
Sub m_calendar_Click() ' menu saisie par calendar
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
'
Calendar1.Day = Day(Date) ' j
Calendar1.Month = Month(Date) ' m
Calendar1.Year = Year(Date) ' a4
'
Combo1.Clear
Combo2.Clear
For i = 0 To 59
If i < 24 Then Combo1.AddItem Format(i, "00") 'h
Combo2.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo1.ListIndex = Hour(Time) ' h
Combo2.ListIndex = Minute(Time) ' n
End Sub
'###########################################################################
'############### SAISIE COMBOBOX
###########################################
'---------------------------------------------------------------------------
Sub m_combo_Click() ' menu saisie par combo
Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
'
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo6.Clear
Combo7.Clear
For i = 0 To 59
If i > 0 And i < 32 Then Combo3.AddItem Format(i, "00") 'j
If i > 0 And i < 13 Then Combo4.AddItem Format(i, "00") 'm
Combo5.AddItem Format((i + 2000), "0000") 'a4 (de 2000 à 2000 + 59(i))
If i < 24 Then Combo6.AddItem Format(i, "00") 'h
Combo7.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo3.ListIndex = Day(Date) - 1 ' numérote à partir de 0 le combo j
Combo4.ListIndex = Month(Date) - 1
Combo5.ListIndex = Year(Date) - 2000
Combo6.ListIndex = Hour(Time) ' h
Combo7.ListIndex = Minute(Time) ' n
End Sub
Sub Command1_Click() ' valide saisie frame1
Jour = Weekday(Calendar1.Value)
Call NomDuJour
Label4.Caption = nomJour & " " & Calendar1.Value & " : " &
Format(Combo1.ListIndex, "00") & " h " & Format(Combo2.ListIndex, "00")
End Sub
Sub Command2_Click() 'valide saisie frame2
Dim jj As Byte
Dim mm As Byte
Dim a4 As Integer
'
jj = Combo3.ListIndex + 1
mm = Combo4.ListIndex + 1
a4 = Combo5.ListIndex + 2000
Jour = Weekday(jj & "/" & mm & "/" & a4)
Call NomDuJour
Label5.Caption = nomJour & " " & Format(Combo3.ListIndex + 1, "00") & "/"
& Format(Combo4.ListIndex + 1, "00") & "/" & Combo5.ListIndex + 2000
End Sub
'###########################################################################
'############### SAISIE TEXT
###############################################
'---------------------------------------------------------------------------
Sub m_text_Click() 'frame3 saisie text
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = True
Text1 = ""
Text2 = ""
End Sub
Sub Text1_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans KeyAscii"
If KeyAscii = 8 Then Exit Sub ' effacement
If KeyAscii = 13 Then
KeyAscii = 0 ' evite le bang
Text2.SetFocus
End If
If KeyAscii < 47 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Sub Text2_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans KeyAscii"
Select Case KeyAscii
Case 8: Exit Sub ' effacement
Case 13
KeyAscii = 0 ' evite le bang
Command3.SetFocus
Case 48 To 57: Exit Sub
Case 72, 104: Exit Sub
End Select
KeyAscii = 0
End Sub
Sub Command3_Click() 'valider saisie textes
Dim testDate As Date
Dim hh As Byte
Dim separe As String * 1
Dim mm As Byte
'
' NOTA BENE
' pour l'heure il est plus logique de prendre
' le point comme sépateur, car ainsi on reste
' au clavier numérique, ou encore et mieux,
' de prendre deux TextBox, l'un pour les heures,
' l'autre pour les minutes
' officiellement c'est ":" qui sépare l'heure
' On peut avec les fonctions qui gèrent les dates,
' balancer directement (date + heure), mais ça
' complique les tests de localisation d'erreur...
'
On Error GoTo erreur1
testDate = Text1
GoTo suite1
erreur1:
MsgBox "Date (jj/jj/aaaa) invalide", vbExclamation
Err.Clear
Text1.SetFocus
Exit Sub
'
suite1:
' la variable date va mettre au format, contrôler
' la validité et refuser une date inexistante (3 avantages)
Text1 = testDate
On Error GoTo erreur2
' morceau_extrait = MID(chaine, début, longueur)
hh = Val(Mid(Text2, 1, 2))
mm = Val(Mid(Text2, 4, 2))
GoTo suite2
'
erreur2:
MsgBox "Heure (00H00) invalide", vbExclamation
Err.Clear
Text2.SetFocus
Exit Sub
'
suite2:
separe = Mid(Text2, 3, 1)
If separe = "H" Then separe = "h"
If separe <> "h" Then GoTo erreur2
If Len(Text2) <> 5 Then GoTo erreur2
'
Text2 = Format(hh, "00") & separe & Format(mm, "00")
Jour = Weekday(Text1)
Call NomDuJour
Label8.Caption = nomJour & " " & Text1 & " : " & Text2
End Sub
'-------------
' explications
'-------------
' ---> Pour contrôler les dates tu peux faire:
' dim dateMini as date
' dim dateMaxi as date
' dim laDate as date
' '
' dateMini = "12/12/2004"
' dateMini = "23/01/2006"
' if laDate < dateMini or laDate > dateMaxi then exit sub
' '
' ---> Pour contrôler les heures tu peux faire:
' dim hh as byte
' dim mn as byte
' dim mnTotal as integer
' hh = heures_saisies
' mn = minutes_saisies
' mnTotal = (hh * 60) + mn
' if mnTotal < à X or mnTotal > Y then exit sub
' ---> Ne pas omettre les propriétés de chaque objet
' tabStop si le focus doit s'y arrêter
' TabIndex pour l'odre des focus quand tu fais <Tab> =suivant...
Bonjour Pierre,
Ah les mask, en plus c'est pas beau, lol, déjà tu peux éliminer tous
tes problèmes, soit en fixant la saisie par de comboBox, soit en la
supervisant par le contrôle de la saisie, ou encore en mettant les objets
appropriés "calendar":
Voici un code, ci-joint la source
--------------------------------------
' ExpAideSaisieDates form1
'
Option Explicit
'
Dim i As Long
Dim nomJour As String
Dim Jour As Byte
'
Sub Form_Load()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = False
End Sub
Sub NomDuJour()
Select Case Jour
Case 1: nomJour = "dim"
Case 2: nomJour = "lun"
Case 3: nomJour = "mar"
Case 4: nomJour = "mer"
Case 5: nomJour = "jeu"
Case 6: nomJour = "ven"
Case 7: nomJour = "sam"
End Select
End Sub
'###########################################################################
'############### SAISIE CALENDRIER
#########################################
'---------------------------------------------------------------------------
Sub m_calendar_Click() ' menu saisie par calendar
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
'
Calendar1.Day = Day(Date) ' j
Calendar1.Month = Month(Date) ' m
Calendar1.Year = Year(Date) ' a4
'
Combo1.Clear
Combo2.Clear
For i = 0 To 59
If i < 24 Then Combo1.AddItem Format(i, "00") 'h
Combo2.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo1.ListIndex = Hour(Time) ' h
Combo2.ListIndex = Minute(Time) ' n
End Sub
'###########################################################################
'############### SAISIE COMBOBOX
###########################################
'---------------------------------------------------------------------------
Sub m_combo_Click() ' menu saisie par combo
Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
'
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo6.Clear
Combo7.Clear
For i = 0 To 59
If i > 0 And i < 32 Then Combo3.AddItem Format(i, "00") 'j
If i > 0 And i < 13 Then Combo4.AddItem Format(i, "00") 'm
Combo5.AddItem Format((i + 2000), "0000") 'a4 (de 2000 à 2000 + 59(i))
If i < 24 Then Combo6.AddItem Format(i, "00") 'h
Combo7.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo3.ListIndex = Day(Date) - 1 ' numérote à partir de 0 le combo j
Combo4.ListIndex = Month(Date) - 1
Combo5.ListIndex = Year(Date) - 2000
Combo6.ListIndex = Hour(Time) ' h
Combo7.ListIndex = Minute(Time) ' n
End Sub
Sub Command1_Click() ' valide saisie frame1
Jour = Weekday(Calendar1.Value)
Call NomDuJour
Label4.Caption = nomJour & " " & Calendar1.Value & " : " &
Format(Combo1.ListIndex, "00") & " h " & Format(Combo2.ListIndex, "00")
End Sub
Sub Command2_Click() 'valide saisie frame2
Dim jj As Byte
Dim mm As Byte
Dim a4 As Integer
'
jj = Combo3.ListIndex + 1
mm = Combo4.ListIndex + 1
a4 = Combo5.ListIndex + 2000
Jour = Weekday(jj & "/" & mm & "/" & a4)
Call NomDuJour
Label5.Caption = nomJour & " " & Format(Combo3.ListIndex + 1, "00") & "/"
& Format(Combo4.ListIndex + 1, "00") & "/" & Combo5.ListIndex + 2000
End Sub
'###########################################################################
'############### SAISIE TEXT
###############################################
'---------------------------------------------------------------------------
Sub m_text_Click() 'frame3 saisie text
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = True
Text1 = ""
Text2 = ""
End Sub
Sub Text1_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans KeyAscii"
If KeyAscii = 8 Then Exit Sub ' effacement
If KeyAscii = 13 Then
KeyAscii = 0 ' evite le bang
Text2.SetFocus
End If
If KeyAscii < 47 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Sub Text2_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans KeyAscii"
Select Case KeyAscii
Case 8: Exit Sub ' effacement
Case 13
KeyAscii = 0 ' evite le bang
Command3.SetFocus
Case 48 To 57: Exit Sub
Case 72, 104: Exit Sub
End Select
KeyAscii = 0
End Sub
Sub Command3_Click() 'valider saisie textes
Dim testDate As Date
Dim hh As Byte
Dim separe As String * 1
Dim mm As Byte
'
' NOTA BENE
' pour l'heure il est plus logique de prendre
' le point comme sépateur, car ainsi on reste
' au clavier numérique, ou encore et mieux,
' de prendre deux TextBox, l'un pour les heures,
' l'autre pour les minutes
' officiellement c'est ":" qui sépare l'heure
' On peut avec les fonctions qui gèrent les dates,
' balancer directement (date + heure), mais ça
' complique les tests de localisation d'erreur...
'
On Error GoTo erreur1
testDate = Text1
GoTo suite1
erreur1:
MsgBox "Date (jj/jj/aaaa) invalide", vbExclamation
Err.Clear
Text1.SetFocus
Exit Sub
'
suite1:
' la variable date va mettre au format, contrôler
' la validité et refuser une date inexistante (3 avantages)
Text1 = testDate
On Error GoTo erreur2
' morceau_extrait = MID(chaine, début, longueur)
hh = Val(Mid(Text2, 1, 2))
mm = Val(Mid(Text2, 4, 2))
GoTo suite2
'
erreur2:
MsgBox "Heure (00H00) invalide", vbExclamation
Err.Clear
Text2.SetFocus
Exit Sub
'
suite2:
separe = Mid(Text2, 3, 1)
If separe = "H" Then separe = "h"
If separe <> "h" Then GoTo erreur2
If Len(Text2) <> 5 Then GoTo erreur2
'
Text2 = Format(hh, "00") & separe & Format(mm, "00")
Jour = Weekday(Text1)
Call NomDuJour
Label8.Caption = nomJour & " " & Text1 & " : " & Text2
End Sub
'-------------
' explications
'-------------
' ---> Pour contrôler les dates tu peux faire:
' dim dateMini as date
' dim dateMaxi as date
' dim laDate as date
' '
' dateMini = "12/12/2004"
' dateMini = "23/01/2006"
' if laDate < dateMini or laDate > dateMaxi then exit sub
' '
' ---> Pour contrôler les heures tu peux faire:
' dim hh as byte
' dim mn as byte
' dim mnTotal as integer
' hh = heures_saisies
' mn = minutes_saisies
' mnTotal = (hh * 60) + mn
' if mnTotal < à X or mnTotal > Y then exit sub
' ---> Ne pas omettre les propriétés de chaque objet
' tabStop si le focus doit s'y arrêter
' TabIndex pour l'odre des focus quand tu fais <Tab> =suivant...
Merci Le Troll
pour l"exemple de code, que je vais étudier
j'utilise les maskEdBox pour la rapidité et non pour la beauté
utiliser un combobox pour entrer plus de 80 employer à 5 jours semaine sa
fait 800 fois a ouvrir et a chercher la bonne heure.
je serais pas aimer si je fait ça.
avec le maskEdBox je n'est de besoin que tu clavier numérique, rapide et
efficace sauf quand ont a un problème de code :o(
merci pour ton aide je vais potasser sur les bouts de codes d'erreurs que
tu viens de me refiler.
ton aide m'a été précieux.
j'ai apprit qu'elle que chose aujourd'hui. merci
"LE TROLL" <le a écrit dans le message de news:
%23spUfbR$Bonjour Pierre,
Ah les mask, en plus c'est pas beau, lol, déjà tu peux éliminer tous
tes problèmes, soit en fixant la saisie par de comboBox, soit en la
supervisant par le contrôle de la saisie, ou encore en mettant les objets
appropriés "calendar":
Voici un code, ci-joint la source
--------------------------------------
' ExpAideSaisieDates form1
'
Option Explicit
'
Dim i As Long
Dim nomJour As String
Dim Jour As Byte
'
Sub Form_Load()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = False
End Sub
Sub NomDuJour()
Select Case Jour
Case 1: nomJour = "dim"
Case 2: nomJour = "lun"
Case 3: nomJour = "mar"
Case 4: nomJour = "mer"
Case 5: nomJour = "jeu"
Case 6: nomJour = "ven"
Case 7: nomJour = "sam"
End Select
End Sub
'###########################################################################
'############### SAISIE CALENDRIER
#########################################
'---------------------------------------------------------------------------
Sub m_calendar_Click() ' menu saisie par calendar
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
'
Calendar1.Day = Day(Date) ' j
Calendar1.Month = Month(Date) ' m
Calendar1.Year = Year(Date) ' a4
'
Combo1.Clear
Combo2.Clear
For i = 0 To 59
If i < 24 Then Combo1.AddItem Format(i, "00") 'h
Combo2.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo1.ListIndex = Hour(Time) ' h
Combo2.ListIndex = Minute(Time) ' n
End Sub
'###########################################################################
'############### SAISIE COMBOBOX
###########################################
'---------------------------------------------------------------------------
Sub m_combo_Click() ' menu saisie par combo
Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
'
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo6.Clear
Combo7.Clear
For i = 0 To 59
If i > 0 And i < 32 Then Combo3.AddItem Format(i, "00") 'j
If i > 0 And i < 13 Then Combo4.AddItem Format(i, "00") 'm
Combo5.AddItem Format((i + 2000), "0000") 'a4 (de 2000 à 2000 + 59(i))
If i < 24 Then Combo6.AddItem Format(i, "00") 'h
Combo7.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo3.ListIndex = Day(Date) - 1 ' numérote à partir de 0 le combo j
Combo4.ListIndex = Month(Date) - 1
Combo5.ListIndex = Year(Date) - 2000
Combo6.ListIndex = Hour(Time) ' h
Combo7.ListIndex = Minute(Time) ' n
End Sub
Sub Command1_Click() ' valide saisie frame1
Jour = Weekday(Calendar1.Value)
Call NomDuJour
Label4.Caption = nomJour & " " & Calendar1.Value & " : " &
Format(Combo1.ListIndex, "00") & " h " & Format(Combo2.ListIndex, "00")
End Sub
Sub Command2_Click() 'valide saisie frame2
Dim jj As Byte
Dim mm As Byte
Dim a4 As Integer
'
jj = Combo3.ListIndex + 1
mm = Combo4.ListIndex + 1
a4 = Combo5.ListIndex + 2000
Jour = Weekday(jj & "/" & mm & "/" & a4)
Call NomDuJour
Label5.Caption = nomJour & " " & Format(Combo3.ListIndex + 1, "00") &
"/" & Format(Combo4.ListIndex + 1, "00") & "/" & Combo5.ListIndex + 2000
End Sub
'###########################################################################
'############### SAISIE TEXT
###############################################
'---------------------------------------------------------------------------
Sub m_text_Click() 'frame3 saisie text
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = True
Text1 = ""
Text2 = ""
End Sub
Sub Text1_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans
KeyAscii"
If KeyAscii = 8 Then Exit Sub ' effacement
If KeyAscii = 13 Then
KeyAscii = 0 ' evite le bang
Text2.SetFocus
End If
If KeyAscii < 47 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Sub Text2_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans
KeyAscii"
Select Case KeyAscii
Case 8: Exit Sub ' effacement
Case 13
KeyAscii = 0 ' evite le bang
Command3.SetFocus
Case 48 To 57: Exit Sub
Case 72, 104: Exit Sub
End Select
KeyAscii = 0
End Sub
Sub Command3_Click() 'valider saisie textes
Dim testDate As Date
Dim hh As Byte
Dim separe As String * 1
Dim mm As Byte
'
' NOTA BENE
' pour l'heure il est plus logique de prendre
' le point comme sépateur, car ainsi on reste
' au clavier numérique, ou encore et mieux,
' de prendre deux TextBox, l'un pour les heures,
' l'autre pour les minutes
' officiellement c'est ":" qui sépare l'heure
' On peut avec les fonctions qui gèrent les dates,
' balancer directement (date + heure), mais ça
' complique les tests de localisation d'erreur...
'
On Error GoTo erreur1
testDate = Text1
GoTo suite1
erreur1:
MsgBox "Date (jj/jj/aaaa) invalide", vbExclamation
Err.Clear
Text1.SetFocus
Exit Sub
'
suite1:
' la variable date va mettre au format, contrôler
' la validité et refuser une date inexistante (3 avantages)
Text1 = testDate
On Error GoTo erreur2
' morceau_extrait = MID(chaine, début, longueur)
hh = Val(Mid(Text2, 1, 2))
mm = Val(Mid(Text2, 4, 2))
GoTo suite2
'
erreur2:
MsgBox "Heure (00H00) invalide", vbExclamation
Err.Clear
Text2.SetFocus
Exit Sub
'
suite2:
separe = Mid(Text2, 3, 1)
If separe = "H" Then separe = "h"
If separe <> "h" Then GoTo erreur2
If Len(Text2) <> 5 Then GoTo erreur2
'
Text2 = Format(hh, "00") & separe & Format(mm, "00")
Jour = Weekday(Text1)
Call NomDuJour
Label8.Caption = nomJour & " " & Text1 & " : " & Text2
End Sub
'-------------
' explications
'-------------
' ---> Pour contrôler les dates tu peux faire:
' dim dateMini as date
' dim dateMaxi as date
' dim laDate as date
' '
' dateMini = "12/12/2004"
' dateMini = "23/01/2006"
' if laDate < dateMini or laDate > dateMaxi then exit sub
' '
' ---> Pour contrôler les heures tu peux faire:
' dim hh as byte
' dim mn as byte
' dim mnTotal as integer
' hh = heures_saisies
' mn = minutes_saisies
' mnTotal = (hh * 60) + mn
' if mnTotal < à X or mnTotal > Y then exit sub
' ---> Ne pas omettre les propriétés de chaque objet
' tabStop si le focus doit s'y arrêter
' TabIndex pour l'odre des focus quand tu fais <Tab> =suivant...
Merci Le Troll
pour l"exemple de code, que je vais étudier
j'utilise les maskEdBox pour la rapidité et non pour la beauté
utiliser un combobox pour entrer plus de 80 employer à 5 jours semaine sa
fait 800 fois a ouvrir et a chercher la bonne heure.
je serais pas aimer si je fait ça.
avec le maskEdBox je n'est de besoin que tu clavier numérique, rapide et
efficace sauf quand ont a un problème de code :o(
merci pour ton aide je vais potasser sur les bouts de codes d'erreurs que
tu viens de me refiler.
ton aide m'a été précieux.
j'ai apprit qu'elle que chose aujourd'hui. merci
"LE TROLL" <le troll@paris.fr> a écrit dans le message de news:
%23spUfbR$EHA.1452@TK2MSFTNGP11.phx.gbl...
Bonjour Pierre,
Ah les mask, en plus c'est pas beau, lol, déjà tu peux éliminer tous
tes problèmes, soit en fixant la saisie par de comboBox, soit en la
supervisant par le contrôle de la saisie, ou encore en mettant les objets
appropriés "calendar":
Voici un code, ci-joint la source
--------------------------------------
' ExpAideSaisieDates form1
'
Option Explicit
'
Dim i As Long
Dim nomJour As String
Dim Jour As Byte
'
Sub Form_Load()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = False
End Sub
Sub NomDuJour()
Select Case Jour
Case 1: nomJour = "dim"
Case 2: nomJour = "lun"
Case 3: nomJour = "mar"
Case 4: nomJour = "mer"
Case 5: nomJour = "jeu"
Case 6: nomJour = "ven"
Case 7: nomJour = "sam"
End Select
End Sub
'###########################################################################
'############### SAISIE CALENDRIER
#########################################
'---------------------------------------------------------------------------
Sub m_calendar_Click() ' menu saisie par calendar
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
'
Calendar1.Day = Day(Date) ' j
Calendar1.Month = Month(Date) ' m
Calendar1.Year = Year(Date) ' a4
'
Combo1.Clear
Combo2.Clear
For i = 0 To 59
If i < 24 Then Combo1.AddItem Format(i, "00") 'h
Combo2.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo1.ListIndex = Hour(Time) ' h
Combo2.ListIndex = Minute(Time) ' n
End Sub
'###########################################################################
'############### SAISIE COMBOBOX
###########################################
'---------------------------------------------------------------------------
Sub m_combo_Click() ' menu saisie par combo
Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
'
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo6.Clear
Combo7.Clear
For i = 0 To 59
If i > 0 And i < 32 Then Combo3.AddItem Format(i, "00") 'j
If i > 0 And i < 13 Then Combo4.AddItem Format(i, "00") 'm
Combo5.AddItem Format((i + 2000), "0000") 'a4 (de 2000 à 2000 + 59(i))
If i < 24 Then Combo6.AddItem Format(i, "00") 'h
Combo7.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo3.ListIndex = Day(Date) - 1 ' numérote à partir de 0 le combo j
Combo4.ListIndex = Month(Date) - 1
Combo5.ListIndex = Year(Date) - 2000
Combo6.ListIndex = Hour(Time) ' h
Combo7.ListIndex = Minute(Time) ' n
End Sub
Sub Command1_Click() ' valide saisie frame1
Jour = Weekday(Calendar1.Value)
Call NomDuJour
Label4.Caption = nomJour & " " & Calendar1.Value & " : " &
Format(Combo1.ListIndex, "00") & " h " & Format(Combo2.ListIndex, "00")
End Sub
Sub Command2_Click() 'valide saisie frame2
Dim jj As Byte
Dim mm As Byte
Dim a4 As Integer
'
jj = Combo3.ListIndex + 1
mm = Combo4.ListIndex + 1
a4 = Combo5.ListIndex + 2000
Jour = Weekday(jj & "/" & mm & "/" & a4)
Call NomDuJour
Label5.Caption = nomJour & " " & Format(Combo3.ListIndex + 1, "00") &
"/" & Format(Combo4.ListIndex + 1, "00") & "/" & Combo5.ListIndex + 2000
End Sub
'###########################################################################
'############### SAISIE TEXT
###############################################
'---------------------------------------------------------------------------
Sub m_text_Click() 'frame3 saisie text
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = True
Text1 = ""
Text2 = ""
End Sub
Sub Text1_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans
KeyAscii"
If KeyAscii = 8 Then Exit Sub ' effacement
If KeyAscii = 13 Then
KeyAscii = 0 ' evite le bang
Text2.SetFocus
End If
If KeyAscii < 47 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Sub Text2_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans
KeyAscii"
Select Case KeyAscii
Case 8: Exit Sub ' effacement
Case 13
KeyAscii = 0 ' evite le bang
Command3.SetFocus
Case 48 To 57: Exit Sub
Case 72, 104: Exit Sub
End Select
KeyAscii = 0
End Sub
Sub Command3_Click() 'valider saisie textes
Dim testDate As Date
Dim hh As Byte
Dim separe As String * 1
Dim mm As Byte
'
' NOTA BENE
' pour l'heure il est plus logique de prendre
' le point comme sépateur, car ainsi on reste
' au clavier numérique, ou encore et mieux,
' de prendre deux TextBox, l'un pour les heures,
' l'autre pour les minutes
' officiellement c'est ":" qui sépare l'heure
' On peut avec les fonctions qui gèrent les dates,
' balancer directement (date + heure), mais ça
' complique les tests de localisation d'erreur...
'
On Error GoTo erreur1
testDate = Text1
GoTo suite1
erreur1:
MsgBox "Date (jj/jj/aaaa) invalide", vbExclamation
Err.Clear
Text1.SetFocus
Exit Sub
'
suite1:
' la variable date va mettre au format, contrôler
' la validité et refuser une date inexistante (3 avantages)
Text1 = testDate
On Error GoTo erreur2
' morceau_extrait = MID(chaine, début, longueur)
hh = Val(Mid(Text2, 1, 2))
mm = Val(Mid(Text2, 4, 2))
GoTo suite2
'
erreur2:
MsgBox "Heure (00H00) invalide", vbExclamation
Err.Clear
Text2.SetFocus
Exit Sub
'
suite2:
separe = Mid(Text2, 3, 1)
If separe = "H" Then separe = "h"
If separe <> "h" Then GoTo erreur2
If Len(Text2) <> 5 Then GoTo erreur2
'
Text2 = Format(hh, "00") & separe & Format(mm, "00")
Jour = Weekday(Text1)
Call NomDuJour
Label8.Caption = nomJour & " " & Text1 & " : " & Text2
End Sub
'-------------
' explications
'-------------
' ---> Pour contrôler les dates tu peux faire:
' dim dateMini as date
' dim dateMaxi as date
' dim laDate as date
' '
' dateMini = "12/12/2004"
' dateMini = "23/01/2006"
' if laDate < dateMini or laDate > dateMaxi then exit sub
' '
' ---> Pour contrôler les heures tu peux faire:
' dim hh as byte
' dim mn as byte
' dim mnTotal as integer
' hh = heures_saisies
' mn = minutes_saisies
' mnTotal = (hh * 60) + mn
' if mnTotal < à X or mnTotal > Y then exit sub
' ---> Ne pas omettre les propriétés de chaque objet
' tabStop si le focus doit s'y arrêter
' TabIndex pour l'odre des focus quand tu fais <Tab> =suivant...
Merci Le Troll
pour l"exemple de code, que je vais étudier
j'utilise les maskEdBox pour la rapidité et non pour la beauté
utiliser un combobox pour entrer plus de 80 employer à 5 jours semaine sa
fait 800 fois a ouvrir et a chercher la bonne heure.
je serais pas aimer si je fait ça.
avec le maskEdBox je n'est de besoin que tu clavier numérique, rapide et
efficace sauf quand ont a un problème de code :o(
merci pour ton aide je vais potasser sur les bouts de codes d'erreurs que
tu viens de me refiler.
ton aide m'a été précieux.
j'ai apprit qu'elle que chose aujourd'hui. merci
"LE TROLL" <le a écrit dans le message de news:
%23spUfbR$Bonjour Pierre,
Ah les mask, en plus c'est pas beau, lol, déjà tu peux éliminer tous
tes problèmes, soit en fixant la saisie par de comboBox, soit en la
supervisant par le contrôle de la saisie, ou encore en mettant les objets
appropriés "calendar":
Voici un code, ci-joint la source
--------------------------------------
' ExpAideSaisieDates form1
'
Option Explicit
'
Dim i As Long
Dim nomJour As String
Dim Jour As Byte
'
Sub Form_Load()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = False
End Sub
Sub NomDuJour()
Select Case Jour
Case 1: nomJour = "dim"
Case 2: nomJour = "lun"
Case 3: nomJour = "mar"
Case 4: nomJour = "mer"
Case 5: nomJour = "jeu"
Case 6: nomJour = "ven"
Case 7: nomJour = "sam"
End Select
End Sub
'###########################################################################
'############### SAISIE CALENDRIER
#########################################
'---------------------------------------------------------------------------
Sub m_calendar_Click() ' menu saisie par calendar
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
'
Calendar1.Day = Day(Date) ' j
Calendar1.Month = Month(Date) ' m
Calendar1.Year = Year(Date) ' a4
'
Combo1.Clear
Combo2.Clear
For i = 0 To 59
If i < 24 Then Combo1.AddItem Format(i, "00") 'h
Combo2.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo1.ListIndex = Hour(Time) ' h
Combo2.ListIndex = Minute(Time) ' n
End Sub
'###########################################################################
'############### SAISIE COMBOBOX
###########################################
'---------------------------------------------------------------------------
Sub m_combo_Click() ' menu saisie par combo
Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
'
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo6.Clear
Combo7.Clear
For i = 0 To 59
If i > 0 And i < 32 Then Combo3.AddItem Format(i, "00") 'j
If i > 0 And i < 13 Then Combo4.AddItem Format(i, "00") 'm
Combo5.AddItem Format((i + 2000), "0000") 'a4 (de 2000 à 2000 + 59(i))
If i < 24 Then Combo6.AddItem Format(i, "00") 'h
Combo7.AddItem Format(i, "00") 'n
Next i
' initialisation
Combo3.ListIndex = Day(Date) - 1 ' numérote à partir de 0 le combo j
Combo4.ListIndex = Month(Date) - 1
Combo5.ListIndex = Year(Date) - 2000
Combo6.ListIndex = Hour(Time) ' h
Combo7.ListIndex = Minute(Time) ' n
End Sub
Sub Command1_Click() ' valide saisie frame1
Jour = Weekday(Calendar1.Value)
Call NomDuJour
Label4.Caption = nomJour & " " & Calendar1.Value & " : " &
Format(Combo1.ListIndex, "00") & " h " & Format(Combo2.ListIndex, "00")
End Sub
Sub Command2_Click() 'valide saisie frame2
Dim jj As Byte
Dim mm As Byte
Dim a4 As Integer
'
jj = Combo3.ListIndex + 1
mm = Combo4.ListIndex + 1
a4 = Combo5.ListIndex + 2000
Jour = Weekday(jj & "/" & mm & "/" & a4)
Call NomDuJour
Label5.Caption = nomJour & " " & Format(Combo3.ListIndex + 1, "00") &
"/" & Format(Combo4.ListIndex + 1, "00") & "/" & Combo5.ListIndex + 2000
End Sub
'###########################################################################
'############### SAISIE TEXT
###############################################
'---------------------------------------------------------------------------
Sub m_text_Click() 'frame3 saisie text
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = True
Text1 = ""
Text2 = ""
End Sub
Sub Text1_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans
KeyAscii"
If KeyAscii = 8 Then Exit Sub ' effacement
If KeyAscii = 13 Then
KeyAscii = 0 ' evite le bang
Text2.SetFocus
End If
If KeyAscii < 47 Or KeyAscii > 57 Then
KeyAscii = 0
Exit Sub
End If
End Sub
Sub Text2_KeyPress(KeyAscii As Integer)
' évènement "KeyPress de text1, chaque touche = code ascii dans
KeyAscii"
Select Case KeyAscii
Case 8: Exit Sub ' effacement
Case 13
KeyAscii = 0 ' evite le bang
Command3.SetFocus
Case 48 To 57: Exit Sub
Case 72, 104: Exit Sub
End Select
KeyAscii = 0
End Sub
Sub Command3_Click() 'valider saisie textes
Dim testDate As Date
Dim hh As Byte
Dim separe As String * 1
Dim mm As Byte
'
' NOTA BENE
' pour l'heure il est plus logique de prendre
' le point comme sépateur, car ainsi on reste
' au clavier numérique, ou encore et mieux,
' de prendre deux TextBox, l'un pour les heures,
' l'autre pour les minutes
' officiellement c'est ":" qui sépare l'heure
' On peut avec les fonctions qui gèrent les dates,
' balancer directement (date + heure), mais ça
' complique les tests de localisation d'erreur...
'
On Error GoTo erreur1
testDate = Text1
GoTo suite1
erreur1:
MsgBox "Date (jj/jj/aaaa) invalide", vbExclamation
Err.Clear
Text1.SetFocus
Exit Sub
'
suite1:
' la variable date va mettre au format, contrôler
' la validité et refuser une date inexistante (3 avantages)
Text1 = testDate
On Error GoTo erreur2
' morceau_extrait = MID(chaine, début, longueur)
hh = Val(Mid(Text2, 1, 2))
mm = Val(Mid(Text2, 4, 2))
GoTo suite2
'
erreur2:
MsgBox "Heure (00H00) invalide", vbExclamation
Err.Clear
Text2.SetFocus
Exit Sub
'
suite2:
separe = Mid(Text2, 3, 1)
If separe = "H" Then separe = "h"
If separe <> "h" Then GoTo erreur2
If Len(Text2) <> 5 Then GoTo erreur2
'
Text2 = Format(hh, "00") & separe & Format(mm, "00")
Jour = Weekday(Text1)
Call NomDuJour
Label8.Caption = nomJour & " " & Text1 & " : " & Text2
End Sub
'-------------
' explications
'-------------
' ---> Pour contrôler les dates tu peux faire:
' dim dateMini as date
' dim dateMaxi as date
' dim laDate as date
' '
' dateMini = "12/12/2004"
' dateMini = "23/01/2006"
' if laDate < dateMini or laDate > dateMaxi then exit sub
' '
' ---> Pour contrôler les heures tu peux faire:
' dim hh as byte
' dim mn as byte
' dim mnTotal as integer
' hh = heures_saisies
' mn = minutes_saisies
' mnTotal = (hh * 60) + mn
' if mnTotal < à X or mnTotal > Y then exit sub
' ---> Ne pas omettre les propriétés de chaque objet
' tabStop si le focus doit s'y arrêter
' TabIndex pour l'odre des focus quand tu fais <Tab> =suivant...