iStarOSX
XLDnaute Junior
Bonjour
Voila cela fait un moment que je cherche une solution a ce problème.
Très souvent dans mes macros, en début de procédure, j'écris du code qui sert a faire des vérifications sur des données. Lorsqu'une donné n'est pas acceptable, l’exécution de la macro est arrêtée.
Or souvent, ce code de vérification est le même pour plusieurs macros d'un même projet.
J'aimerai pouvoir écrire une procédure "Teste" en dehors de toutes les autres procédure devant faire appel a cette macro "Teste" et que si elle échoue, la macro faisant appel ne soit pas exécutée.
Mais je ne vois pas comment faire !
J'ai tenté ceci :
Puis en début des macros faisant appel a la macro de teste :
Mais cela ne fonctionne pas.
Si un spécialiste du VBA pouvait m'aider, merci.
Voila cela fait un moment que je cherche une solution a ce problème.
Très souvent dans mes macros, en début de procédure, j'écris du code qui sert a faire des vérifications sur des données. Lorsqu'une donné n'est pas acceptable, l’exécution de la macro est arrêtée.
Or souvent, ce code de vérification est le même pour plusieurs macros d'un même projet.
J'aimerai pouvoir écrire une procédure "Teste" en dehors de toutes les autres procédure devant faire appel a cette macro "Teste" et que si elle échoue, la macro faisant appel ne soit pas exécutée.
Mais je ne vois pas comment faire !
J'ai tenté ceci :
Code:
Sub Verif_Liste_Plans()
Dim VerifListePlan As Boolean
'---------------------------------------------------------
'Vérifie les données :
'---------------------------------------------------------
If Sheets("NumPlanMoteur").Range("AI3") = 0 Then
Message = MsgBox("Spécialité : Sélectionner une spécialité !", vbOKOnly, "Erreur : Spécialité")
If Message = vbOKOnly Then Unload Message
Exit Sub
End If
If Sheets("Liste Plans").Range("D25") > Sheets("NumPlanMoteur").Range("AF25") Then
If Sheets("NumPlanMoteur").Range("AF2") = 1 Or Sheets("NumPlanMoteur").Range("AF2") = 3 Then
Message = MsgBox("Vous avez atteint la limite du mode de nuémrotation de plan !" & Chr(10) & _
" " & Chr(10) & _
"Vous ne pouvez pas avoir plus de 19 plans pour cette Spécialité." & Chr(10) & _
"Choisissez la spécialité AUTRE, pour continuer votre liste de plans" & Chr(10) & _
" ", vbOKOnly, "Limitation de la numérotation de plan :")
If Message = vbOKOnly Then Unload Message
Exit Sub
Else
Message = MsgBox("Vous avez atteint la limite du mode de numérotation de plan !" & Chr(10) & _
" " & Chr(10) & _
"Vous ne pouvez pas avoir plus de 99 plans pour cette Spécialité." & Chr(10) & _
"Choisissez la spécialité AUTRE, pour continuer votre liste de plans" & Chr(10) & _
" ", vbOKOnly, "Limitation de la numérotation de plan :")
If Message = vbOKOnly Then Unload Message
Exit Sub
End If
End If
VerifListePlan = True
End Sub
Puis en début des macros faisant appel a la macro de teste :
Code:
Verif_Liste_Plans 'exection de la macro teste
If VerifListePlan = True Then 'si la variable "VerifListePlan" est vrai execution du reste da la macro. si non fin de la macro.
Mais cela ne fonctionne pas.
Si un spécialiste du VBA pouvait m'aider, merci.