OVH Cloud OVH Cloud

Gestion des erreurs par fonction

21 réponses
Avatar
J aimerais chunter les messages d erreur dans le code
suivant et rajouter du code si la fonction filecopy s est
bien deroulee. Est ce possible ???

Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox Then

FileCopy "\\stationcs\c$\silvercs9\specif.pl", "\\" &
Ctl.Name & "\c$\silvercs9\"
FileCopy "\\stationcs\c$\silvercs9\specif.pl", "\\" &
Ctl.Name & "\d$\silvercs9\"
FileCopy "\\stationcs\c$\silvercs9\specif.pl", "\\" &
Ctl.Name & "\e$\silvercs9\"

End If
Next Ctl

Merci d avance

10 réponses

1 2 3
Avatar
Les tests que tu m as donnes fonctionnent mais dans mon
code, cela ne marche pas !

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
'If FileDateTime("stationcsc$silvercs9
specif.pl") = FileDateTime("" & Ctl.Name
& "c$silvercs9specif.pl") Then
' DoCmd.RunSQL ("INSERT INTO Deploiement
values(#" & DateDeploi & "#, '" & Ctl.Name & "', -1);")
'Else
' DoCmd.RunSQL ("INSERT INTO Deploiement
values(#" & DateDeploi & "#, '" & Ctl.Name & "', 0);")
'End If
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"




J ai l impression qu il y a un autre probleme et que
le "For each Ctl" ne fonctionne plus


-----Message d'origine-----
Bonjour,

Tu me surprends là

Essaies ca :
Sub TestErreur1()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: b = 200
c = a / b
If Err.Number = 0 Then MsgBox "OK"
End Sub

puis :
Sub TestErreur2()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: ' b = 200
c = a / b
If Err.Number <> 0 Then MsgBox Err.Description
End Sub

A+
Eric

écrivait
news:a04401c4794d$328ef990

$:

J ai deja essaye mais le err.number ne fonctionne pas
en


dehors d une erreur, le programme ne passe jamais dans
le


If.

-----Message d'origine-----
Tu peux faire ceci:
On Error Resume Next
FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
&.........

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
& .........

If Err.Number = 0 Then MsgBox "copie réalisée"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum





.





Avatar
Les tests que tu m as donnes fonctionnent mais dans mon
code, cela ne marche pas !

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"




J ai l impression qu il y a un autre probleme et que
le "For each Ctl" ne fonctionne plus


-----Message d'origine-----
Bonjour,

Tu me surprends là

Essaies ca :
Sub TestErreur1()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: b = 200
c = a / b
If Err.Number = 0 Then MsgBox "OK"
End Sub

puis :
Sub TestErreur2()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: ' b = 200
c = a / b
If Err.Number <> 0 Then MsgBox Err.Description
End Sub

A+
Eric

écrivait
news:a04401c4794d$328ef990

$:

J ai deja essaye mais le err.number ne fonctionne pas
en


dehors d une erreur, le programme ne passe jamais dans
le


If.

-----Message d'origine-----
Tu peux faire ceci:
On Error Resume Next
FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
&.........

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
& .........

If Err.Number = 0 Then MsgBox "copie réalisée"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum





.





Avatar
Les tests que tu m as donnes fonctionnent mais dans mon
code, cela ne marche pas !

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"




J ai l impression qu il y a un autre probleme et que
le "For each Ctl" ne fonctionne plus


-----Message d'origine-----
Bonjour,

Tu me surprends là

Essaies ca :
Sub TestErreur1()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: b = 200
c = a / b
If Err.Number = 0 Then MsgBox "OK"
End Sub

puis :
Sub TestErreur2()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: ' b = 200
c = a / b
If Err.Number <> 0 Then MsgBox Err.Description
End Sub

A+
Eric

écrivait
news:a04401c4794d$328ef990

$:

J ai deja essaye mais le err.number ne fonctionne pas
en


dehors d une erreur, le programme ne passe jamais dans
le


If.

-----Message d'origine-----
Tu peux faire ceci:
On Error Resume Next
FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
&.........

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
& .........

If Err.Number = 0 Then MsgBox "copie réalisée"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum





.





Avatar
Voila mon code si tu veux le voir mais la ou il est, le
err.number ne fonctionne pas (ca ne rentre jamais dans la
boucle).

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"



-----Message d'origine-----
si, si , le err.number peut être interrogé , si tu
indiques

FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
et si la copie est réalisée, le if est bien exécuté ainsi
que le msgbox.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


Avatar
Voila mon code si tu veux le voir mais la ou il est, le
err.number ne fonctionne pas (ca ne rentre jamais dans la
boucle).

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"



-----Message d'origine-----
si, si , le err.number peut être interrogé , si tu
indiques

FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
et si la copie est réalisée, le if est bien exécuté ainsi
que le msgbox.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


Avatar
Voila mon code si tu veux le voir mais la ou il est, le
err.number ne fonctionne pas (ca ne rentre jamais dans la
boucle).

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"



-----Message d'origine-----
si, si , le err.number peut être interrogé , si tu
indiques

FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
et si la copie est réalisée, le if est bien exécuté ainsi
que le msgbox.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


Avatar
Voila mon code si tu veux le voir mais la ou il est, le
err.number ne fonctionne pas (ca ne rentre jamais dans la
boucle).

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"



-----Message d'origine-----
si, si , le err.number peut être interrogé , si tu
indiques

FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
et si la copie est réalisée, le if est bien exécuté ainsi
que le msgbox.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


Avatar
Oui oui, les tests fonctionnent bien. Seulement, des que
je l utilise dans mon code, ca plante !!


-----Message d'origine-----
..../...
lire c as Double

suis pas reveillé ;-)
Eric

Eric écrivait
news::
Bonjour,

Tu me surprends là

Essaies ca :
Sub TestErreur1()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: b = 200
c = a / b
If Err.Number = 0 Then MsgBox "OK"
End Sub

puis :
Sub TestErreur2()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: ' b = 200
c = a / b
If Err.Number <> 0 Then MsgBox Err.Description
End Sub

A+
Eric




Avatar
Raymond [mvp]
Supprime le DoCmd.SetWarnings False
es-tu sûr que les copies sont faites ?
si les copies sont bien faites tu dois passer sur le if, fais un débogage
ligne à ligne.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le message de
news:a7c901c4795a$89d71bd0$
Voila mon code si tu veux le voir mais la ou il est, le
err.number ne fonctionne pas (ca ne rentre jamais dans la
boucle).

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"
Avatar
Eric
re,

Dans les instruction FileCopy, tu n'as pas précisé le nom du fichier de
destination. Forces-le pour vérifier. Je suppose qu'il s'agit de
specif.pl

A+
Eric


écrivait news:a73901c47959$e3ae07a0
$:

Les tests que tu m as donnes fonctionnent mais dans mon
code, cela ne marche pas !

On Error Resume Next

Dim Ctl As Control, datedeploi As Date

datedeploi = Now

DoCmd.SetWarnings False

For Each Ctl In Me.Controls
If Ctl.ControlType = acCheckBox And Ctl.Value = -1
Then

FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "c$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "d$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
FileCopy "stationcsc$silvercs9
specif.pl", "" & Ctl.Name & "e$silvercs9"
If Err.Number = 0 Then MsgBox "OK"
End If
Next Ctl

DoCmd.SetWarnings True

MsgBox "Déploiement terminé"




J ai l impression qu il y a un autre probleme et que
le "For each Ctl" ne fonctionne plus


-----Message d'origine-----
Bonjour,

Tu me surprends là

Essaies ca :
Sub TestErreur1()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: b = 200
c = a / b
If Err.Number = 0 Then MsgBox "OK"
End Sub

puis :
Sub TestErreur2()
On Error Resume Next
Dim a As Integer, b As Integer, c as Long
a = 100: ' b = 200
c = a / b
If Err.Number <> 0 Then MsgBox Err.Description
End Sub

A+
Eric

écrivait
news:a04401c4794d$328ef990

$:

J ai deja essaye mais le err.number ne fonctionne pas
en


dehors d une erreur, le programme ne passe jamais dans
le


If.

-----Message d'origine-----
Tu peux faire ceci:
On Error Resume Next
FileCopy "stationcsc$silvercs9specif.pl", ""
& .......

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
&.........

If Err.Number = 0 Then MsgBox "copie réalisée"
FileCopy "stationcsc$silvercs9specif.pl", ""
& .........

If Err.Number = 0 Then MsgBox "copie réalisée"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum





.








1 2 3