Stopper une macro

banpo

XLDnaute Junior
J'ai developpe une feuille de calcul contenant une macro.
Au demarrage de la macro, je souhaiterais faire un test sur plusieurs cellules :
si la test est positif ("true"), la macro continue a s'exucuter , par contre , si le test est negatif je souhaiterais arreter l'exucution de la macro et faire afficher une fenetre contenant un message pour l'utilisateur.
Le tests est une verification de la valeur de plusieurs cellules ( IF(AND(A1=3,A5=..,..), ...,...)). L'objectif est de verrouiller l'execution de la macro en s'assurant que certaines conditions sont bien remplies.
Y-a-il une syntaxe simple pour mettre en place le test avec affichage de la fenetre si le resultat est negatif?

Merci par avance pour votre aide.
 

noviceAG

XLDnaute Impliqué
Re : Stopper une macro

Bonjour banpo, le Forum,

Quelque chose comme ça peut-être :

Sub VerifSai() 'Verifie que tous les champs soient remplis
-----ton code
If Range("B4") = 0 Then
Msgbox "ATTENTION ! Vous devez sélectionner l'option du pensionnaire.", 48, "Rubrique obligatoire !"
Range("B4").Select
Exit Sub
End If
-----ton code
If Range("B8") = 0 Then
Msgbox "ATTENTION ! Vous devez saisir le nom du pensionnaire.", 48, "Rubrique obligatoire !"
Range("B8").Select
Exit Sub
End If
-----ton code
End Sub

@ +
 

banpo

XLDnaute Junior
Re : Stopper une macro

Merci beaucoup Novice AG, ca marche tres bien. Il me reste toutefois un petit de souci de syntaxe sur l'un des tests. Je m'explique:
Ma macro s'ecucute sur une feuille dont la cellule A1 contient une date a u format 01-MM-YY.
Je souhaierais compare cette date avec une date contenu dans la cellule A1 d'une feuille (F) d'un autre classeur (C). Le format de cette cellule est egalement 01-MM-YY.Le test consiste a regarder si la difference entre les 2 dates est de un mois (la date du classeur (C) est plus ancienne de 1 mois).
Je suis parti sur le code si dessous mais je n'arrive pas a debugger , quelqu'un pourrait-il m'aider ?
If Month(Cells(1,1).Value)) = Month (Workbooks("C.xls").Sheets("F").Cells (1,1).Value)+1 And Year(Cells(1,1).Value))=Year (Workbooks("C.xls").Sheets("F").Cells (1,1).Value) Then ...
 

Discussions similaires

Réponses
2
Affichages
167
Réponses
26
Affichages
496

Statistiques des forums

Discussions
312 493
Messages
2 088 944
Membres
103 989
dernier inscrit
jralonso