Stopper procedure depuis une fonction
Fermé
patgva
Messages postés
2
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
29 décembre 2014
-
29 déc. 2014 à 21:31
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 30 déc. 2014 à 11:27
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 30 déc. 2014 à 11:27
A voir également:
- Stopper une fonction python
- Fonction si et - Guide
- Citizen code python - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
3 réponses
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
29 déc. 2014 à 21:45
29 déc. 2014 à 21:45
Bonsoir, il faut utiliser la gestion des erreurs, avec l'instruction On Error
Sub test() 'Dans cet exemple en cas d'erreur le code va dans la partie appelée GestionErreur On Error GoTo GestionErreur Dim a a = 3 / 0 Exit Sub GestionErreur: MsgBox ("Erreur trouvée") End Sub
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
Modifié par Whismeril le 29/12/2014 à 22:16
Modifié par Whismeril le 29/12/2014 à 22:16
Ça marche aussi:
Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.
Sub test() On Error GoTo GestionErreur Dim r As Double r = Division(1, 2) MsgBox ("1 / 2 = " & r) r = Division(1, 0) MsgBox ("1 / 0 = " & r) Exit Sub GestionErreur: MsgBox ("Erreur trouvée") End Sub Function Division(a As Integer, b As Integer) As Double Division = a / b End Function
Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
30 déc. 2014 à 11:27
30 déc. 2014 à 11:27
Bonjour le fil,
Pour cela, tu peux aussi utiliser une variable déclarée au niveau Module :
Pour cela, tu peux aussi utiliser une variable déclarée au niveau Module :
Dim Erreur As Boolean Sub test() Dim r As Double r = Division(1, 2) If Erreur = False Then 'Ici le traitement si Erreur il y a eu dans la fonction Else Goto GestionErreur End If 'blabla Exit Sub GestionErreur: MsgBox ("Erreur trouvée") End Sub Function Division(a As Integer, b As Integer) As Double Erreur = False On Error Goto TraiteErreur Division = a / b Exit Function TraiteErreur: Erreur = True End Function
29 déc. 2014 à 21:53
L'erreur intervient dans la function.
Utiliser un "GO TO errohandler" puis exit function permet de quitter la fonction mais pas la procedure sub principale depuis laquelle elle est appelee.